diff --git a/course/_static/._prefix-runestone.c2757fc695bc848c.bundle.js b/course/_static/._prefix-runestone.1c010553c35c544c.bundle.js similarity index 100% rename from course/_static/._prefix-runestone.c2757fc695bc848c.bundle.js rename to course/_static/._prefix-runestone.1c010553c35c544c.bundle.js diff --git a/course/_static/._prefix-runestone.c2757fc695bc848c.bundle.js.LICENSE.txt b/course/_static/._prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt similarity index 100% rename from course/_static/._prefix-runestone.c2757fc695bc848c.bundle.js.LICENSE.txt rename to course/_static/._prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt diff --git a/course/_static/._prefix-runestone.c2757fc695bc848c.bundle.js.LICENSE.txt.gz b/course/_static/._prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt.gz similarity index 100% rename from course/_static/._prefix-runestone.c2757fc695bc848c.bundle.js.LICENSE.txt.gz rename to course/_static/._prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt.gz diff --git a/course/_static/._prefix-runestone.c2757fc695bc848c.bundle.js.gz b/course/_static/._prefix-runestone.1c010553c35c544c.bundle.js.gz similarity index 100% rename from course/_static/._prefix-runestone.c2757fc695bc848c.bundle.js.gz rename to course/_static/._prefix-runestone.1c010553c35c544c.bundle.js.gz diff --git a/course/_static/._prefix-runestone.c2757fc695bc848c.bundle.js.map b/course/_static/._prefix-runestone.1c010553c35c544c.bundle.js.map similarity index 100% rename from course/_static/._prefix-runestone.c2757fc695bc848c.bundle.js.map rename to course/_static/._prefix-runestone.1c010553c35c544c.bundle.js.map diff --git a/course/_static/._prefix-runestone.c2757fc695bc848c.bundle.js.map.gz b/course/_static/._prefix-runestone.1c010553c35c544c.bundle.js.map.gz similarity index 100% rename from course/_static/._prefix-runestone.c2757fc695bc848c.bundle.js.map.gz rename to course/_static/._prefix-runestone.1c010553c35c544c.bundle.js.map.gz diff --git a/course/_static/._prefix-runestone.f4ab138da65f4203.css b/course/_static/._prefix-runestone.677a75a9120449ff.css similarity index 100% rename from course/_static/._prefix-runestone.f4ab138da65f4203.css rename to course/_static/._prefix-runestone.677a75a9120449ff.css diff --git a/course/_static/._prefix-runestone.f4ab138da65f4203.css.gz b/course/_static/._prefix-runestone.677a75a9120449ff.css.gz similarity index 100% rename from course/_static/._prefix-runestone.f4ab138da65f4203.css.gz rename to course/_static/._prefix-runestone.677a75a9120449ff.css.gz diff --git a/course/_static/._prefix-runestone.f4ab138da65f4203.css.map b/course/_static/._prefix-runestone.677a75a9120449ff.css.map similarity index 100% rename from course/_static/._prefix-runestone.f4ab138da65f4203.css.map rename to course/_static/._prefix-runestone.677a75a9120449ff.css.map diff --git a/course/_static/._prefix-runestone.f4ab138da65f4203.css.map.gz b/course/_static/._prefix-runestone.677a75a9120449ff.css.map.gz similarity index 100% rename from course/_static/._prefix-runestone.f4ab138da65f4203.css.map.gz rename to course/_static/._prefix-runestone.677a75a9120449ff.css.map.gz diff --git a/course/_static/_runestone-services.xml b/course/_static/_runestone-services.xml index 2dbf2b6..b219abc 100755 --- a/course/_static/_runestone-services.xml +++ b/course/_static/_runestone-services.xml @@ -3,12 +3,12 @@ prefix-runtime.991c135ccf182bf5.bundle.js prefix-723.3e6434f80549315a.bundle.js - prefix-runestone.c2757fc695bc848c.bundle.js + prefix-runestone.1c010553c35c544c.bundle.js prefix-723.3bccd435914aa0ff.css - prefix-runestone.f4ab138da65f4203.css + prefix-runestone.677a75a9120449ff.css https://runestone.academy/cdn/runestone/ - 7.11.7 + 7.11.8 diff --git a/course/_static/prefix-runestone.c2757fc695bc848c.bundle.js b/course/_static/prefix-runestone.1c010553c35c544c.bundle.js similarity index 87% rename from course/_static/prefix-runestone.c2757fc695bc848c.bundle.js rename to course/_static/prefix-runestone.1c010553c35c544c.bundle.js index 78d4b75..4aa295a 100755 --- a/course/_static/prefix-runestone.c2757fc695bc848c.bundle.js +++ b/course/_static/prefix-runestone.1c010553c35c544c.bundle.js @@ -1,3 +1,3 @@ -/*! For license information please see prefix-runestone.c2757fc695bc848c.bundle.js.LICENSE.txt */ -(self.webpackChunkWebComponents=self.webpackChunkWebComponents||[]).push([[222],{3403:()=>{!function(e){var t=function(t,n){var o;(o=function(t,i){i=i||0,t.find("> li > a.internal, > ul, > li > ul").each((function(t,a){var s=e(a),r=a.tagName.toLowerCase(),d=s.children("li"),l=e(s.parent("li"),s.parent().parent("li"));"ul"===r&&i>=n&&d.length>0&&(l.addClass("dropdown-submenu").children("a").first().attr("tabindex",-1),s.addClass("dropdown-menu")),o(s,i+1)}))})(t)};patchTables=function(){e("table.docutils").removeClass("docutils").addClass("table").attr("border",0)},e((function(){if(e("#navbar.navbar-fixed-top").length>0){var n=e("#navbar").height(),o=function(){scrollBy(0,-n-10)};location.hash&&o(),window.addEventListener("hashchange",o)}e(".dropdown-menu").each((function(){e(this).find("ul").each((function(t,n){e(n).addClass("unstyled")}))})),e("ul.globaltoc li").length?t(e("ul.globaltoc"),1):e(".globaltoc-container").remove(),t(e("ul.localtoc"),2),e(".dropdown-menu ul").not(".dropdown-menu").each((function(){var t=e(this),n=t.parent(),o=n[0].tagName.toLowerCase(),i=t.children().detach();"ul"===o?t.replaceWith(i):"li"===o&&(n.after(i),t.remove())})),$localLi=e("ul.localtoc li"),$localLi.length>2&&$localLi.first().after('
  • '),e(".dropdown-toggle").dropdown(),patchTables(),e("div.note").addClass("alert").addClass("alert-info"),e("div.warning").addClass("alert").addClass("alert-warning"),e("tt.docutils.literal").not(".xref").each((function(t,n){e(n).parent().hasClass("reference")||e(n).replaceWith((function(){return e("").text(e(this).text())}))}))}))}(window.jQuery)},19695:()=>{var e,t=!1;function n(){t||(function(){let t=$("[data-childcomponent]");t.addClass("runestone"),t.parent().closest("div").not("section").addClass("runestone"),t.parent().closest("div").css("max-width","none"),t.each((function(e){$(this),$(this).find(".ac_code_div, .ac_output").wrapAll("
    ")})),$("section img").wrap('
    '),e=$(".runestone").not(".runestone .runestone"),$("h1").before("
    ")}(),t=!0);let n=$("body"),o="present",a="full-height",s="bottom";n.hasClass(o)?($("section *").not("h1, .presentation-title, .btn-presenter, .runestone, .runestone *, section, .pre, code").removeClass("hidden"),$("#completionButton").removeClass("hidden"),n.removeClass(o),$("."+a).removeClass(a),$("."+s).removeClass(s),localStorage.setItem("presentMode","text"),e.removeClass("hidden"),undefined.disabled=!0):($("section *").not("h1, .presentation-title, .btn-presenter, .runestone, .runestone *, section, .pre, code").addClass("hidden"),$("#completionButton").addClass("hidden"),n.addClass(o),n.addClass(a),$("html").addClass(a),$("section .runestone").addClass(a),$(".ac-caption").addClass(s),localStorage.setItem("presentMode",o),i())}function o(){return active=e.filter(".active")}function i(t){void 0===t&&(t=0);let n=o();e.length&&(n.removeClass("active"),n=$(e[t]).addClass("active"),n.removeClass("hidden"),e.not(e.filter(".active")).addClass("hidden"))}window.nextExercise=function(){let t=o(),n=e.index(t)+1;n=0&&i(n)},$(document).on("runestone:login-complete",(function(){eBookConfig.isInstructor&&($(".navbar-right").prepend(""),$(".mode-select").change(n))}))},23836:()=>{!function(e){"use strict";e.i18n=e.i18n||{},e.extend(e.i18n.fallbacks,{ab:["ru"],ace:["id"],aln:["sq"],als:["gsw","de"],an:["es"],anp:["hi"],arn:["es"],arz:["ar"],av:["ru"],ay:["es"],ba:["ru"],bar:["de"],"bat-smg":["sgs","lt"],bcc:["fa"],"be-x-old":["be-tarask"],bh:["bho"],bjn:["id"],bm:["fr"],bpy:["bn"],bqi:["fa"],bug:["id"],"cbk-zam":["es"],ce:["ru"],crh:["crh-latn"],"crh-cyrl":["ru"],csb:["pl"],cv:["ru"],"de-at":["de"],"de-ch":["de"],"de-formal":["de"],dsb:["de"],dtp:["ms"],egl:["it"],eml:["it"],ff:["fr"],fit:["fi"],"fiu-vro":["vro","et"],frc:["fr"],frp:["fr"],frr:["de"],fur:["it"],gag:["tr"],gan:["gan-hant","zh-hant","zh-hans"],"gan-hans":["zh-hans"],"gan-hant":["zh-hant","zh-hans"],gl:["pt"],glk:["fa"],gn:["es"],gsw:["de"],hif:["hif-latn"],hsb:["de"],ht:["fr"],ii:["zh-cn","zh-hans"],inh:["ru"],iu:["ike-cans"],jut:["da"],jv:["id"],kaa:["kk-latn","kk-cyrl"],kbd:["kbd-cyrl"],khw:["ur"],kiu:["tr"],kk:["kk-cyrl"],"kk-arab":["kk-cyrl"],"kk-latn":["kk-cyrl"],"kk-cn":["kk-arab","kk-cyrl"],"kk-kz":["kk-cyrl"],"kk-tr":["kk-latn","kk-cyrl"],kl:["da"],"ko-kp":["ko"],koi:["ru"],krc:["ru"],ks:["ks-arab"],ksh:["de"],ku:["ku-latn"],"ku-arab":["ckb"],kv:["ru"],lad:["es"],lb:["de"],lbe:["ru"],lez:["ru"],li:["nl"],lij:["it"],liv:["et"],lmo:["it"],ln:["fr"],ltg:["lv"],lzz:["tr"],mai:["hi"],"map-bms":["jv","id"],mg:["fr"],mhr:["ru"],min:["id"],mo:["ro"],mrj:["ru"],mwl:["pt"],myv:["ru"],mzn:["fa"],nah:["es"],nap:["it"],nds:["de"],"nds-nl":["nl"],"nl-informal":["nl"],no:["nb"],os:["ru"],pcd:["fr"],pdc:["de"],pdt:["de"],pfl:["de"],pms:["it"],pt:["pt-br"],"pt-br":["pt"],qu:["es"],qug:["qu","es"],rgn:["it"],rmy:["ro"],"roa-rup":["rup"],rue:["uk","ru"],ruq:["ruq-latn","ro"],"ruq-cyrl":["mk"],"ruq-latn":["ro"],sa:["hi"],sah:["ru"],scn:["it"],sg:["fr"],sgs:["lt"],sli:["de"],sr:["sr-ec"],srn:["nl"],stq:["de"],su:["id"],szl:["pl"],tcy:["kn"],tg:["tg-cyrl"],tt:["tt-cyrl","ru"],"tt-cyrl":["ru"],ty:["fr"],udm:["ru"],ug:["ug-arab"],uk:["ru"],vec:["it"],vep:["et"],vls:["nl"],vmf:["de"],vot:["fi"],vro:["et"],wa:["fr"],wo:["fr"],wuu:["zh-hans"],xal:["ru"],xmf:["ka"],yi:["he"],za:["zh-hans"],zea:["nl"],zh:["zh-hans"],"zh-classical":["lzh"],"zh-cn":["zh-hans"],"zh-hant":["zh-hans"],"zh-hk":["zh-hant","zh-hans"],"zh-min-nan":["nan"],"zh-mo":["zh-hk","zh-hant","zh-hans"],"zh-my":["zh-sg","zh-hans"],"zh-sg":["zh-hans"],"zh-tw":["zh-hant","zh-hans"],"zh-yue":["yue"]})}(jQuery)},35773:()=>{!function(e){"use strict";var t={pluralRules:{ak:{one:"n = 0..1"},am:{one:"i = 0 or n = 1"},ar:{zero:"n = 0",one:"n = 1",two:"n = 2",few:"n % 100 = 3..10",many:"n % 100 = 11..99"},ars:{zero:"n = 0",one:"n = 1",two:"n = 2",few:"n % 100 = 3..10",many:"n % 100 = 11..99"},as:{one:"i = 0 or n = 1"},be:{one:"n % 10 = 1 and n % 100 != 11",few:"n % 10 = 2..4 and n % 100 != 12..14",many:"n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14"},bh:{one:"n = 0..1"},bn:{one:"i = 0 or n = 1"},br:{one:"n % 10 = 1 and n % 100 != 11,71,91",two:"n % 10 = 2 and n % 100 != 12,72,92",few:"n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99",many:"n != 0 and n % 1000000 = 0"},bs:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},cs:{one:"i = 1 and v = 0",few:"i = 2..4 and v = 0",many:"v != 0"},cy:{zero:"n = 0",one:"n = 1",two:"n = 2",few:"n = 3",many:"n = 6"},da:{one:"n = 1 or t != 0 and i = 0,1"},dsb:{one:"v = 0 and i % 100 = 1 or f % 100 = 1",two:"v = 0 and i % 100 = 2 or f % 100 = 2",few:"v = 0 and i % 100 = 3..4 or f % 100 = 3..4"},fa:{one:"i = 0 or n = 1"},ff:{one:"i = 0,1"},fil:{one:"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"},fr:{one:"i = 0,1"},ga:{one:"n = 1",two:"n = 2",few:"n = 3..6",many:"n = 7..10"},gd:{one:"n = 1,11",two:"n = 2,12",few:"n = 3..10,13..19"},gu:{one:"i = 0 or n = 1"},guw:{one:"n = 0..1"},gv:{one:"v = 0 and i % 10 = 1",two:"v = 0 and i % 10 = 2",few:"v = 0 and i % 100 = 0,20,40,60,80",many:"v != 0"},he:{one:"i = 1 and v = 0",two:"i = 2 and v = 0",many:"v = 0 and n != 0..10 and n % 10 = 0"},hi:{one:"i = 0 or n = 1"},hr:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},hsb:{one:"v = 0 and i % 100 = 1 or f % 100 = 1",two:"v = 0 and i % 100 = 2 or f % 100 = 2",few:"v = 0 and i % 100 = 3..4 or f % 100 = 3..4"},hy:{one:"i = 0,1"},is:{one:"t = 0 and i % 10 = 1 and i % 100 != 11 or t != 0"},iu:{one:"n = 1",two:"n = 2"},iw:{one:"i = 1 and v = 0",two:"i = 2 and v = 0",many:"v = 0 and n != 0..10 and n % 10 = 0"},kab:{one:"i = 0,1"},kn:{one:"i = 0 or n = 1"},kw:{one:"n = 1",two:"n = 2"},lag:{zero:"n = 0",one:"i = 0,1 and n != 0"},ln:{one:"n = 0..1"},lt:{one:"n % 10 = 1 and n % 100 != 11..19",few:"n % 10 = 2..9 and n % 100 != 11..19",many:"f != 0"},lv:{zero:"n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19",one:"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"},mg:{one:"n = 0..1"},mk:{one:"v = 0 and i % 10 = 1 or f % 10 = 1"},mo:{one:"i = 1 and v = 0",few:"v != 0 or n = 0 or n != 1 and n % 100 = 1..19"},mr:{one:"i = 0 or n = 1"},mt:{one:"n = 1",few:"n = 0 or n % 100 = 2..10",many:"n % 100 = 11..19"},naq:{one:"n = 1",two:"n = 2"},nso:{one:"n = 0..1"},pa:{one:"n = 0..1"},pl:{one:"i = 1 and v = 0",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14",many:"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"},prg:{zero:"n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19",one:"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"},pt:{one:"i = 0..1"},ro:{one:"i = 1 and v = 0",few:"v != 0 or n = 0 or n != 1 and n % 100 = 1..19"},ru:{one:"v = 0 and i % 10 = 1 and i % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14",many:"v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14"},se:{one:"n = 1",two:"n = 2"},sh:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},shi:{one:"i = 0 or n = 1",few:"n = 2..10"},si:{one:"n = 0,1 or i = 0 and f = 1"},sk:{one:"i = 1 and v = 0",few:"i = 2..4 and v = 0",many:"v != 0"},sl:{one:"v = 0 and i % 100 = 1",two:"v = 0 and i % 100 = 2",few:"v = 0 and i % 100 = 3..4 or v != 0"},sma:{one:"n = 1",two:"n = 2"},smi:{one:"n = 1",two:"n = 2"},smj:{one:"n = 1",two:"n = 2"},smn:{one:"n = 1",two:"n = 2"},sms:{one:"n = 1",two:"n = 2"},sr:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},ti:{one:"n = 0..1"},tl:{one:"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"},tzm:{one:"n = 0..1 or n = 11..99"},uk:{one:"v = 0 and i % 10 = 1 and i % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14",many:"v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14"},wa:{one:"n = 0..1"},zu:{one:"i = 0 or n = 1"}},convertPlural:function(t,n){var o,i,a,s,r=new RegExp("\\d+=","i");if(!n||0===n.length)return"";for(a=0;a{!function(e){"use strict";var t;t=new RegExp("(?:([A-Za-zªµºÀ-ÖØ-öø-ʸʻ-ˁːˑˠ-ˤˮͰ-ͳͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-҂Ҋ-ԯԱ-Ֆՙ-՟ա-և։ः-हऻऽ-ीॉ-ौॎ-ॐक़-ॡ।-ঀংঃঅ-ঌএঐও-নপ-রলশ-হঽ-ীেৈোৌৎৗড়ঢ়য়-ৡ০-ৱ৴-৺ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੀਖ਼-ੜਫ਼੦-੯ੲ-ੴઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ીૉોૌૐૠૡ૦-૰ૹଂଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽାୀେୈୋୌୗଡ଼ଢ଼ୟ-ୡ୦-୷ஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹாிுூெ-ைொ-ௌௐௗ௦-௲ఁ-ఃఅ-ఌఎ-ఐఒ-నప-హఽు-ౄౘ-ౚౠౡ౦-౯౿ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊೋೕೖೞೠೡ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ീെ-ൈൊ-ൌൎൗൟ-ൡ൦-൵൹-ൿංඃඅ-ඖක-නඳ-රලව-ෆා-ෑෘ-ෟ෦-෯ෲ-෴ก-ะาำเ-ๆ๏-๛ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆ໐-໙ໜ-ໟༀ-༗༚-༴༶༸༾-ཇཉ-ཬཿ྅ྈ-ྌ྾-࿅࿇-࿌࿎-࿚က-ာေးျြဿ-ၗၚ-ၝၡ-ၰၵ-ႁႃႄႇ-ႌႎ-ႜ႞-ჅჇჍა-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፠-፼ᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙿᚁ-ᚚᚠ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱ᜵᜶ᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳាើ-ៅះៈ។-៚ៜ០-៩᠐-᠙ᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸ᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧚ᨀ-ᨖᨙᨚ᨞-ᩕᩗᩡᩣᩤᩭ-ᩲ᪀-᪉᪐-᪙᪠-᪭ᬄ-ᬳᬵᬻᬽ-ᭁᭃ-ᭋ᭐-᭪᭴-᭼ᮂ-ᮡᮦᮧ᮪ᮮ-ᯥᯧᯪ-ᯬᯮ᯲᯳᯼-ᰫᰴᰵ᰻-᱉ᱍ-᱿᳀-᳇᳓᳡ᳩ-ᳬᳮ-ᳳᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‎ⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎ⅏Ⅰ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿Ⰰ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵰ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〮〯〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎ㆐-ㆺㇰ-㈜㈠-㉏㉠-㉻㉿-㊰㋀-㋋㋐-㋾㌀-㍶㍻-㏝㏠-㏾㐀-䶵一-鿕ꀀ-ꒌꓐ-ꘌꘐ-ꘫꙀ-ꙮꚀ-ꚝꚠ-ꛯ꛲-꛷Ꜣ-ꞇ꞉-ꞭꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠤꠧ꠰-꠷ꡀ-ꡳꢀ-ꣃ꣎-꣙ꣲ-ꣽ꤀-ꤥ꤮-ꥆꥒ꥓꥟-ꥼꦃ-ꦲꦴꦵꦺꦻꦽ-꧍ꧏ-꧙꧞-ꧤꧦ-ꧾꨀ-ꨨꨯꨰꨳꨴꩀ-ꩂꩄ-ꩋꩍ꩐-꩙꩜-ꩻꩽ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫫꫮ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭥꭰ-ꯤꯦꯧꯩ-꯬꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ-舘並-龎ff-stﬓ-ﬗA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]|\ud800[\udc00-\udc0b]|\ud800[\udc0d-\udc26]|\ud800[\udc28-\udc3a]|𐀼|𐀽|\ud800[\udc3f-\udc4d]|\ud800[\udc50-\udc5d]|\ud800[\udc80-\udcfa]|𐄀|𐄂|\ud800[\udd07-\udd33]|\ud800[\udd37-\udd3f]|\ud800[\uddd0-\uddfc]|\ud800[\ude80-\ude9c]|\ud800[\udea0-\uded0]|\ud800[\udf00-\udf23]|\ud800[\udf30-\udf4a]|\ud800[\udf50-\udf75]|\ud800[\udf80-\udf9d]|\ud800[\udf9f-\udfc3]|\ud800[\udfc8-\udfd5]|\ud801[\udc00-\udc9d]|\ud801[\udca0-\udca9]|\ud801[\udd00-\udd27]|\ud801[\udd30-\udd63]|𐕯|\ud801[\ude00-\udf36]|\ud801[\udf40-\udf55]|\ud801[\udf60-\udf67]|𑀀|\ud804[\udc02-\udc37]|\ud804[\udc47-\udc4d]|\ud804[\udc66-\udc6f]|\ud804[\udc82-\udcb2]|𑂷|𑂸|\ud804[\udcbb-\udcc1]|\ud804[\udcd0-\udce8]|\ud804[\udcf0-\udcf9]|\ud804[\udd03-\udd26]|𑄬|\ud804[\udd36-\udd43]|\ud804[\udd50-\udd72]|\ud804[\udd74-\udd76]|\ud804[\udd82-\uddb5]|\ud804[\uddbf-\uddc9]|𑇍|\ud804[\uddd0-\udddf]|\ud804[\udde1-\uddf4]|\ud804[\ude00-\ude11]|\ud804[\ude13-\ude2e]|𑈲|𑈳|𑈵|\ud804[\ude38-\ude3d]|\ud804[\ude80-\ude86]|𑊈|\ud804[\ude8a-\ude8d]|\ud804[\ude8f-\ude9d]|\ud804[\ude9f-\udea9]|\ud804[\udeb0-\udede]|\ud804[\udee0-\udee2]|\ud804[\udef0-\udef9]|𑌂|𑌃|\ud804[\udf05-\udf0c]|𑌏|𑌐|\ud804[\udf13-\udf28]|\ud804[\udf2a-\udf30]|𑌲|𑌳|\ud804[\udf35-\udf39]|\ud804[\udf3d-\udf3f]|\ud804[\udf41-\udf44]|𑍇|𑍈|\ud804[\udf4b-\udf4d]|𑍐|𑍗|\ud804[\udf5d-\udf63]|\ud805[\udc80-\udcb2]|𑒹|\ud805[\udcbb-\udcbe]|𑓁|\ud805[\udcc4-\udcc7]|\ud805[\udcd0-\udcd9]|\ud805[\udd80-\uddb1]|\ud805[\uddb8-\uddbb]|𑖾|\ud805[\uddc1-\udddb]|\ud805[\ude00-\ude32]|𑘻|𑘼|𑘾|\ud805[\ude41-\ude44]|\ud805[\ude50-\ude59]|\ud805[\ude80-\udeaa]|𑚬|𑚮|𑚯|𑚶|\ud805[\udec0-\udec9]|\ud805[\udf00-\udf19]|𑜠|𑜡|𑜦|\ud805[\udf30-\udf3f]|\ud806[\udca0-\udcf2]|𑣿|\ud806[\udec0-\udef8]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e]|\ud809[\udc70-\udc74]|\ud809[\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38]|\ud81a[\ude40-\ude5e]|\ud81a[\ude60-\ude69]|𖩮|𖩯|\ud81a[\uded0-\udeed]|𖫵|\ud81a[\udf00-\udf2f]|\ud81a[\udf37-\udf45]|\ud81a[\udf50-\udf59]|\ud81a[\udf5b-\udf61]|\ud81a[\udf63-\udf77]|\ud81a[\udf7d-\udf8f]|\ud81b[\udf00-\udf44]|\ud81b[\udf50-\udf7e]|\ud81b[\udf93-\udf9f]|𛀀|𛀁|\ud82f[\udc00-\udc6a]|\ud82f[\udc70-\udc7c]|\ud82f[\udc80-\udc88]|\ud82f[\udc90-\udc99]|𛲜|𛲟|\ud834[\udc00-\udcf5]|\ud834[\udd00-\udd26]|\ud834[\udd29-\udd66]|\ud834[\udd6a-\udd72]|𝆃|𝆄|\ud834[\udd8c-\udda9]|\ud834[\uddae-\udde8]|\ud834[\udf60-\udf71]|\ud835[\udc00-\udc54]|\ud835[\udc56-\udc9c]|𝒞|𝒟|𝒢|𝒥|𝒦|\ud835[\udca9-\udcac]|\ud835[\udcae-\udcb9]|𝒻|\ud835[\udcbd-\udcc3]|\ud835[\udcc5-\udd05]|\ud835[\udd07-\udd0a]|\ud835[\udd0d-\udd14]|\ud835[\udd16-\udd1c]|\ud835[\udd1e-\udd39]|\ud835[\udd3b-\udd3e]|\ud835[\udd40-\udd44]|𝕆|\ud835[\udd4a-\udd50]|\ud835[\udd52-\udea5]|\ud835[\udea8-\udeda]|\ud835[\udedc-\udf14]|\ud835[\udf16-\udf4e]|\ud835[\udf50-\udf88]|\ud835[\udf8a-\udfc2]|\ud835[\udfc4-\udfcb]|\ud836[\udc00-\uddff]|\ud836[\ude37-\ude3a]|\ud836[\ude6d-\ude74]|\ud836[\ude76-\ude83]|\ud836[\ude85-\ude8b]|\ud83c[\udd10-\udd2e]|\ud83c[\udd30-\udd69]|\ud83c[\udd70-\udd9a]|\ud83c[\udde6-\ude02]|\ud83c[\ude10-\ude3a]|\ud83c[\ude40-\ude48]|🉐|🉑|[\ud840-\ud868][\udc00-\udfff]|\ud869[\udc00-\uded6]|\ud869[\udf00-\udfff]|[\ud86a-\ud86c][\udc00-\udfff]|\ud86d[\udc00-\udf34]|\ud86d[\udf40-\udfff]|\ud86e[\udc00-\udc1d]|\ud86e[\udc20-\udfff]|[\ud86f-\ud872][\udc00-\udfff]|\ud873[\udc00-\udea1]|\ud87e[\udc00-\ude1d]|[\udb80-\udbbe][\udc00-\udfff]|\udbbf[\udc00-\udffd]|[\udbc0-\udbfe][\udc00-\udfff]|\udbff[\udc00-\udffd])|([֐־׀׃׆׈-׿߀-ߪߴߵߺ-ࠕࠚࠤࠨ࠮-ࡘ࡜-࢟‏יִײַ-ﬨשׁ-ﭏ؈؋؍؛-ي٭-ٯٱ-ەۥۦۮۯۺ-ܐܒ-ܯ݋-ޥޱ-޿ࢠ-࣢ﭐ-ﴽ﵀-﷏ﷰ-﷼﷾﷿ﹰ-﻾]|\ud802[\udc00-\udd1e]|\ud802[\udd20-\ude00]|𐨄|\ud802[\ude07-\ude0b]|\ud802[\ude10-\ude37]|\ud802[\ude3b-\ude3e]|\ud802[\ude40-\udee4]|\ud802[\udee7-\udf38]|\ud802[\udf40-\udfff]|\ud803[\udc00-\ude5f]|\ud803[\ude7f-\udfff]|\ud83a[\udc00-\udccf]|\ud83a[\udcd7-\udfff]|\ud83b[\udc00-\uddff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\ude00-\udeef]|\ud83b[\udef2-\udeff]))"),e.extend(e.i18n.parser.emitter,{bidi:function(e){var n,o=(n=e[0].match(t))?void 0===n[2]?"ltr":"rtl":null;return"ltr"===o?"‪"+e[0]+"‬":"rtl"===o?"‫"+e[0]+"‬":e[0]}})}(jQuery)},41669:e=>{"use strict";e.exports=jQuery},46905:()=>{!function(e){"use strict";var t=function(){this.language=e.i18n.languages[String.locale]||e.i18n.languages.default};t.prototype={constructor:t,emit:function(t,n){var o,i,a,s=this;switch(typeof t){case"string":case"number":o=t;break;case"object":if(i=e.map(t.slice(1),(function(e){return s.emit(e,n)})),a=t[0].toLowerCase(),"function"!=typeof s[a])throw new Error('unknown operation "'+a+'"');o=s[a](i,n);break;case"undefined":o="";break;default:throw new Error("unexpected type in AST: "+typeof t)}return o},concat:function(t){var n="";return e.each(t,(function(e,t){n+=t})),n},replace:function(e,t){var n=parseInt(e[0],10);return n{!function(e){"use strict";var t=function(t){this.options=e.extend({},e.i18n.parser.defaults,t),this.language=e.i18n.languages[String.locale]||e.i18n.languages.default,this.emitter=e.i18n.parser.emitter};t.prototype={constructor:t,simpleParse:function(e,t){return e.replace(/\$(\d+)/g,(function(e,n){var o=parseInt(n,10)-1;return void 0!==t[o]?t[o]:"$"+n}))},parse:function(t,n){return t.indexOf("{{")<0?this.simpleParse(t,n):(this.emitter.language=e.i18n.languages[e.i18n().locale]||e.i18n.languages.default,this.emitter.emit(this.ast(t),n))},ast:function(e){var t,n,o,i,a,s,r,d,l,u,c,f,h,m,g,p,v,w,b,y=0;function k(e){return function(){var t,n;for(t=0;t1?["CONCAT"].concat(e):e[0]}function L(){var e=C([f,n,E]);return null===e?null:[e[0],e[2]]}function T(){var e=C([f,n,p]);return null===e?null:[e[0],e[2]]}function I(){var e=C([h,c,m]);return null===e?null:e[1]}if(t=S("|"),n=S(":"),o=S("\\"),i=_(/^./),a=S("$"),s=_(/^\d+/),r=_(/^[^{}[\]$\\]/),d=_(/^[^{}[\]$\\|]/),k([x,_(/^[^{}[\]$\s]/)]),l=k([x,d]),u=k([x,r]),w=_(/^[ !"$&'()*,./0-9;=?@A-Z^_`a-z~\x80-\xFF+-]+/),b=function(e){return e.toString()},f=function(){var e=w();return null===e?null:b(e)},c=k([function(){var e=C([k([L,T]),$(0,B)]);return null===e?null:e[0].concat(e[1])},function(){var e=C([f,$(0,B)]);return null===e?null:[e[0]].concat(e[1])}]),h=S("{{"),m=S("}}"),g=k([I,E,function(){var e=$(1,u)();return null===e?null:e.join("")}]),p=k([I,E,function(){var e=$(1,l)();return null===e?null:e.join("")}]),null===(v=function(){var e=$(0,g)();return null===e?null:["CONCAT"].concat(e)}())||y!==e.length)throw new Error("Parse error at position "+y.toString()+" in input: "+e);return v}},e.extend(e.i18n.parser,new t)}(jQuery)},51399:()=>{!function(e){"use strict";var t=function(){this.messages={},this.sources={}};t.prototype={load:function(t,n){var o,i,a=null,s=[],r=this;if("string"==typeof t)return e.i18n.log("Loading messages from: "+t),(o=t,i=e.Deferred(),e.getJSON(o).done(i.resolve).fail((function(t,n,a){e.i18n.log("Error in loading messages from "+o+" Exception: "+a),i.resolve()})),i.promise()).done((function(e){r.set(n,e)})).promise();if(n)return r.set(n,t),e.Deferred().resolve();for(a in t)Object.prototype.hasOwnProperty.call(t,a)&&(n=a,s.push(r.load(t[a],n)));return e.when.apply(e,s)},set:function(t,n){this.messages[t]?this.messages[t]=e.extend(this.messages[t],n):this.messages[t]=n},get:function(e,t){return this.messages[e]&&this.messages[e][t]}},e.extend(e.i18n.messageStore,new t)}(jQuery)},52329:()=>{!function(e){"use strict";var t,n,o,i=Array.prototype.slice;(t=function(n){this.options=e.extend({},t.defaults,n),this.parser=this.options.parser,this.locale=this.options.locale,this.messageStore=this.options.messageStore,this.languages={}}).prototype={localize:function(t){var n,o,i,a,s,r;for(i=this.locale,a=0;i;){o=(n=i.split("-")).length;do{if(s=n.slice(0,o).join("-"),r=this.messageStore.get(s,t))return r;o--}while(o);if("en"===i)break;i=e.i18n.fallbacks[this.locale]&&e.i18n.fallbacks[this.locale][a]||this.options.fallbackLocale,e.i18n.log("Trying fallback locale for "+this.locale+": "+i+" ("+t+")"),a++}return""},destroy:function(){e.removeData(document,"i18n")},load:function(t,n){var o,i,a,s={};if(t||n||(t="i18n/"+e.i18n().locale+".json",n=e.i18n().locale),"string"==typeof t&&"json"!==t.split("?")[0].split(".").pop()){for(s[n]=t+"/"+n+".json",o=(e.i18n.fallbacks[n]||[]).concat(this.options.fallbackLocale),i=0;i{!function(e){e.idleTimer=function(t,n,o){o=e.extend({startImmediately:!0,idle:!1,enabled:!0,timeout:3e4,events:"mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove"},o),n=n||document;var i=function(t){"number"==typeof t&&(t=void 0);var a=e.data(t||n,"idleTimerObj");a.idle=!a.idle;var s=+new Date-a.olddate;if(a.olddate=+new Date,a.idle&&s{"use strict";function o(){return!!document.querySelector("body.pretext")}function i(e,t,n,i){var a=window.location.pathname;-1!==a.indexOf("?")&&(a=a.substring(0,a.lastIndexOf("?")));let s=o();var r={lastPageUrl:a,lastPageScrollLocation:Math.round($(window).scrollTop()),completionFlag:e,pageLoad:t,markingComplete:n,markingIncomplete:i,course:eBookConfig.course,isPtxBook:s};$(document).ajaxError((function(e,t,n,o){console.log("Request Failed for "+n.url),console.log(e)})),jQuery.ajax({url:`${eBookConfig.new_server_prefix}/logger/updatelastpage`,contentType:"application/json; charset=utf-8",dataType:"json",data:JSON.stringify(r),method:"POST",async:!0})}n.d(t,{w:()=>p}),n(67375),n(66495),n(52329),n(39161),n(46905),n(23836),n(51399),n(49276),n(35773),n(52754),n(3403),n(83057),$(document).on("runestone:login",(function(){var e;!function(){if(!window.location.href.match(/(\/index.html|toctree.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html)/)){var e=window.location.pathname;-1!==e.indexOf("?")&&(e=e.substring(0,e.lastIndexOf("?")));var t={lastPageUrl:e,isPtxBook:o()};jQuery.ajax({url:`${eBookConfig.new_server_prefix}/logger/getCompletionStatus`,data:t,async:!1}).done((function(e){if("None"!=e){var t,n;1==e.detail[0].completionStatus?(t="buttonConfirmCompletion",n=" Completed. Well Done!"):(t="buttonAskCompletion",n="Mark as Completed");let o=document.querySelector("#scprogresscontainer");o&&o.classList.add("ptx-runestone-container"),$("#scprogresscontainer").append('
    ")}}))}}(),void 0!==(e=$.getUrlVar("lastPosition"))&&($("body").append(''),$("html, body").animate({scrollTop:parseInt(e)},1e3)),function(){if(!window.location.href.match(/(index.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html|toctree.html)/)){var e,t=-$("#navLinkBgRight").outerWidth()-5;$("#completionButton").hasClass("buttonAskCompletion")?e=t+70:$("#completionButton").hasClass("buttonConfirmCompletion")&&(e=0);var n=$("#relations-next").css("right"),o=-(t+35);$("#navLinkBgRight").css("right",t).show();var a=!1;$(window).scroll((function(){$(window).scrollTop()+$(window).height()==$(document).height()?($("#navLinkBgRight").animate({right:e},200),$("#navLinkBgLeft").animate({left:"0px"},200),$("#completionButton").hasClass("buttonConfirmCompletion")&&$("#relations-next").animate({right:o},200),a=!0):a&&($("#navLinkBgRight").animate({right:t},200),$("#navLinkBgLeft").animate({left:"-65px"},200),$("#relations-next").animate({right:n}),a=!1)}));var s=0;i(s=$("#completionButton").hasClass("buttonAskCompletion")?0:1,!0,!1,!1),$("#completionButton").on("click",(function(){var a=!1,r=!1;$(this).hasClass("buttonAskCompletion")?($(this).removeClass("buttonAskCompletion").addClass("buttonConfirmCompletion").html(" Completed. Well Done!"),$("#navLinkBgRight").animate({right:0}),$("#relations-next").animate({right:o}),e=0,s=1,a=!0):$(this).hasClass("buttonConfirmCompletion")&&($(this).removeClass("buttonConfirmCompletion").addClass("buttonAskCompletion").html("Mark as Completed"),e=t+70,$("#navLinkBgRight").animate({right:e}),$("#relations-next").animate({right:n}),s=0,r=!0),i(s,!1,a,r)}))}}(),function(){if(-1!=window.location.href.toLowerCase().indexOf("toc.html")||-1!=window.location.href.toLowerCase().indexOf("index.html")||-1!=window.location.href.toLowerCase().indexOf("frontmatter")){o()||jQuery.get(`${eBookConfig.new_server_prefix}/logger/getAllCompletionStatus`,(function(e){var t;if("None"!=e){t=e.detail;var n=$("#main-content div li a");$.each(t,(function(e,t){for(var o=0;o- Completed this topic on '+t.endDate+"").children().first().hover((function(){$(this).next(".infoTextCompleted").show()}),(function(){$(this).next(".infoTextCompleted").hide()})):0==t.completionStatus&&$(n[o].parentElement).addClass("active").append('Last read this topic on '+t.endDate+"").children().first().hover((function(){$(this).next(".infoTextActive").show()}),(function(){$(this).next(".infoTextActive").hide()})))}))}}));var e={course:eBookConfig.course};jQuery.get(`${eBookConfig.new_server_prefix}/logger/getlastpage`,e,(function(e){var t;"None"!=e&&null!=(t=e.detail).lastPageChapter&&$("#continue-reading").show().html('
    You were Last Reading: '+t.lastPageChapter+(t.lastPageSubchapter?" > "+t.lastPageSubchapter:"")+' Continue Reading
    ')}))}}()})),$.extend({getUrlVars:function(){for(var e,t=[],n=window.location.search.slice(window.location.search.indexOf("?")+1).split("&"),o=0;o{t.addEventListener("click",(function(){let n=t.getAttribute("data-knowl");e.logBookEvent({event:"knowl",act:"click",div_id:n})}))})),document.querySelectorAll("details.born-hidden-knowl").forEach((t=>{t.addEventListener("toggle",(function(){if(t.open){let n=t.id;e.logBookEvent({event:"knowl",act:"open",div_id:n})}}))})),document.querySelectorAll(".sagecell_evalButton").forEach((t=>{t.addEventListener("click",(function(){let n=t.closest(".ptx-sagecell"),o=n?n.querySelector(".sagecell_input"):null,i=(o&&o.textContent,n?n.id:null);i?e.logBookEvent({event:"sage",act:"run",div_id:i}):console.warn("Could not find container or div_id for sagecell button")}))})),"undefined"==typeof eBookConfig||eBookConfig.isInstructor||document.querySelectorAll(".commentary").forEach((e=>{e.style.display="none"}))}();let e=document.getElementById("primary-navbar-sticky-wrapper");e&&(e.style.overflow="visible")})),n(19695);var s=n(98098);class r extends a.A{constructor(){super(),this.initSplice()}initSplice(){window.addEventListener("message",(async e=>{var t,n,o=this.sendingIframe(e);if(console.log(`SpliceWrapper: received message subject: ${e.data.subject} from iframe: ${o?o.id:"unknown"}`),"SPLICE.reportScoreAndState"==e.data.subject)this.handleScoreAndState(e,o);else if("SPLICE.sendEvent"==e.data.subject)this.handleSpliceEvent(e,o);else if("SPLICE.getState"==e.data.subject)await this.handleGetState(e,o);else if("https://www.myopenmath.com"===e.origin&&"string"==typeof e.data&&-1!=e.data.indexOf("lti.ext.imathas.result")){let o=JSON.parse(e.data),i=(t=o.jwt.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(window.atob(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join("")),JSON.parse(n));console.log("Result received from frame "+o.frame_id+" with score "+i.score)}}))}getUniqueID(e,t){if(t){let e=t.closest("[data-component]");if(e)return e.id}let n=e.data.activity_id;return n||(t?n=t.src:(n="unknown",console.error("Could not find iframe that sent the SPLICE event"))),n}handleScoreAndState(e,t){console.log("Got SPLICE.reportScoreAndState"),console.log(e.data.activity_id),console.log(e.data.score),console.log(e.data.state);let n=this.getUniqueID(e,t);this.logBookEvent({event:e.data.subject,div_id:n,act:`score: ${e.data.score}`,score:e.data.score,percent:e.data.score,correct:1==e.data.score,answer:JSON.stringify(e.data.state)})}sendingIframe(e){for(const t of document.getElementsByTagName("iframe"))if(t.contentWindow===e.source)return t}async getSavedState(e){try{const t=await fetch("/ns/assessment/results",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({div_id:e,course:eBookConfig.course,event:"SPLICE.getState"})});if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return await t.json()}catch(e){return console.error("Error fetching SPLICE state:",e),null}}async handleGetState(e,t){console.log("Got SPLICE.getState"),console.log(e.data.activity_id),console.log(e.data.state);let n=this.getUniqueID(e,t),o=(await this.getSavedState(n)).detail.answer;e.source.postMessage({message_id:e.data.message_id,subject:"SPLICE.getState.response",state:o},"*")}handleSpliceEvent(e,t){console.log("Got SPLICE.sendEvent"),console.log(e.data.activity_id),console.log(e.data.name);let n=this.getUniqueID(e,t);this.logBookEvent({event:e.data.subject,div_id:n,act:e.data.name||"unknown"})}checkLocalStorage(){}setLocalStorage(){}restoreAnswers(){}disableInteraction(){}}const d={activecode:()=>Promise.all([n.e(249),n.e(296),n.e(625),n.e(764),n.e(877)]).then(n.bind(n,73565)),ble:()=>n.e(817).then(n.bind(n,29817)),clickablearea:()=>Promise.all([n.e(529),n.e(198)]).then(n.bind(n,58529)),codelens:()=>Promise.all([n.e(764),n.e(412)]).then(n.bind(n,76412)),datafile:()=>n.e(580).then(n.bind(n,33580)),dragndrop:()=>Promise.all([n.e(759),n.e(621)]).then(n.bind(n,56759)),fillintheblank:()=>Promise.all([n.e(466),n.e(294)]).then(n.bind(n,64466)),groupsub:()=>Promise.all([n.e(28),n.e(616)]).then(n.bind(n,24616)),khanex:()=>n.e(340).then(n.bind(n,28340)),lp_build:()=>Promise.all([n.e(296),n.e(576)]).then(n.bind(n,77576)),matching:()=>Promise.all([n.e(566),n.e(737)]).then(n.bind(n,14566)),multiplechoice:()=>Promise.all([n.e(919),n.e(350)]).then(n.bind(n,9919)),hparsons:()=>Promise.all([n.e(249),n.e(669),n.e(486)]).then(n.bind(n,71182)),parsons:()=>n.e(39).then(n.bind(n,52420)),poll:()=>n.e(168).then(n.bind(n,11168)),quizly:()=>n.e(128).then(n.bind(n,34128)),reveal:()=>n.e(460).then(n.bind(n,67460)),selectquestion:()=>Promise.all([n.e(662),n.e(380)]).then(n.bind(n,10662)),shortanswer:()=>Promise.all([n.e(819),n.e(850)]).then(n.bind(n,48819)),showeval:()=>n.e(824).then(n.bind(n,8824)),simple_sensor:()=>n.e(126).then(n.bind(n,50126)),spreadsheet:()=>Promise.all([n.e(131),n.e(186)]).then(n.bind(n,97186)),tabbedStuff:()=>n.e(442).then(n.bind(n,76442)),timedAssessment:()=>Promise.all([n.e(249),n.e(296),n.e(625),n.e(764),n.e(877),n.e(466),n.e(759),n.e(919),n.e(566),n.e(662),n.e(529),n.e(819),n.e(420),n.e(268)]).then(n.bind(n,46424)),wavedrom:()=>Promise.all([n.e(770),n.e(640)]).then(n.bind(n,45640)),webwork:()=>n.e(680).then(n.bind(n,84680)),youtube:()=>n.e(915).then(n.bind(n,86915)),doenet:()=>Promise.resolve()},l={},u=10,c=[];let f=0;async function h(){if(0===c.length)return;if(Date.now()-fe.component_name)));const t=e.map((async e=>{try{return await d[e.component_name](),console.log(`Runestone component ${e.component_name} has been loaded`),e}catch(t){e.reject(t)}})),n=await Promise.all(t);try{n.forEach((function(e){e&&e.resolve()}))}catch(e){console.error(e)}}let m=new Promise((e=>$(document).on("runestone:pre-login-complete",e)));function g(){const e=new Set($("[data-component]").map(((e,t)=>$(t).attr("data-component"))).get());document.querySelector(".webwork-button")&&e.add("webwork");const t=[...e].map((e=>{let t;console.log(`Loading Runestone component: ${e}`);try{t=(d[e]||(()=>Promise.resolve()))()}catch(t){console.error(`Error loading ${e}:`,t)}return t.error=t=>console.error(`Error in ${e}:`,t),t}));Promise.all([m,...t]).then((function(){document.body.dataset.reactInUse||document.dispatchEvent(new CustomEvent("runestone:login-complete"))}))}async function p(e){if(l[e])return l[e];console.log(`Runestone component ${e} is being queued for import`);const t=function(e){let t=null,n=null;const o=new Promise(((e,o)=>{t=e,n=o})),i={component_name:e,resolve:t,reject:n};return c.push(i),window.setTimeout(h,u+1),o}(e);return l[e]=t,t}m.then((()=>{console.log("Runestone pre-login complete")})),$(document).ready(g);const v=document.currentScript.src;n.p=v.substring(0,v.lastIndexOf("/")+1),new r;const w={};w.runestone_import=p,w.runestone_auto_import=g,w.getSwitch=function(){const e=document.querySelector('.theme-switch input[type="checkbox"]'),t=localStorage.getItem("theme")?localStorage.getItem("theme"):null;t&&(document.documentElement.setAttribute("data-theme",t),"dark"===t&&(e.checked=!0))},w.switchTheme=function(){1==document.getElementById("checkbox").checked?(document.documentElement.setAttribute("data-theme","dark"),localStorage.setItem("theme","dark")):(document.documentElement.setAttribute("data-theme","light"),localStorage.setItem("theme","light"))},w.popupScratchAC=async function(){if(await p("activecode"),!eBookConfig.scratchDiv){window.ACFactory.createScratchActivecode();let e=eBookConfig.scratchDiv;window.componentMap[e]=ACFactory.createActiveCode($(`#${e}`)[0],eBookConfig.acDefaultLanguage),eBookConfig.isLoggedIn&&window.componentMap[e].enableSaveLoad()}setTimeout((()=>{window.ACFactory.toggleScratchActivecode()}),100)},w.renderOneComponent=s.yT,window.componentMap={},window.runestoneComponents=w},78673:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var o=n(83057),i=["parsonsMove","showeval","video","poll","view_toggle","dashboard","selectquestion","codelens","peer","shortanswer"];class a{constructor(e){this.component_ready_promise=new Promise((e=>this._component_ready_resolve_fn=e)),this.optional=!1,void 0===window.allComponents&&(window.allComponents=[]),window.allComponents.push(this),e&&(this.sid=e.sid,this.graderactive=e.graderactive,this.showfeedback=!0,e.timed&&(this.isTimed=!0),e.enforceDeadline&&(this.deadline=e.deadline),this.optional=this.parseBooleanAttribute(e.orig,"data-optional"),e.selector_id&&(this.selector_id=e.selector_id),void 0!==e.assessmentTaken?this.assessmentTaken=e.assessmentTaken:this.assessmentTaken=!0,void 0!==e.timedWrapper?this.timedWrapper=e.timedWrapper:location.href.indexOf("doAssignment")>=0?this.timedWrapper=$("h1#assignment_name").text():this.timedWrapper=null,$(e.orig).data("question_label")&&(this.question_label=$(e.orig).data("question_label")),this.is_toggle=e.is_toggle,this.is_select=e.is_select),this.mjelements=[];let t=this;if(this.mjReady=new Promise((function(e,n){t.mjresolver=e})),this.aQueue=new r,e&&void 0!==e.preamble){this.preamble=e.preamble;let t=document.createElement("div");t.classList.add("hidden-content"),t.classList.add("process-math"),t.innerHTML="\\("+this.preamble+"\\)",e.orig.appendChild(t),t.id="ltx_preamble",t.style.display="none",this.aQueue.preamble=t}this.jsonHeaders=new Headers({"Content-type":"application/json; charset=utf-8",Accept:"application/json"})}parseBooleanAttribute(e,t){const n=e.getAttribute(t);if(null===n)return!1;const o=n.toLowerCase();return"false"!==o&&"no"!==o}async logBookEvent(e){if(this.graderactive)return;let t;if(e.course_name=eBookConfig.course,e.clientLoginStatus=eBookConfig.isLoggedIn,e.timezoneoffset=(new Date).getTimezoneOffset()/60,this.selector_id&&(e.selector_id=this.selector_id),"number"==typeof this.percent&&(e.percent=this.percent),window.assignmentId&&(e.assignment_id=window.assignmentId),eBookConfig.isLoggedIn&&eBookConfig.useRunestoneServices&&eBookConfig.logLevel>0&&(t=this.postLogMessage(e)),!this.isTimed||eBookConfig.debug){let t=eBookConfig.isLoggedIn?"Save":"Not";console.log(`${t} logging event `+JSON.stringify(e))}return this.selector_id&&(e.div_id=this.selector_id.replace("-toggleSelectedQuestion",""),e.event="selectquestion",e.act="interaction",this.postLogMessage(e)),"function"==typeof o.X.updateProgress&&"edit"!=e.act&&0==this.optional&&o.X.updateProgress(e.div_id),-1===i.indexOf(e.event)&&this.decorateStatus(),t}async postLogMessage(e){var t;let n=new Request(`${eBookConfig.new_server_prefix}/logger/bookevent`,{method:"POST",headers:this.jsonHeaders,body:JSON.stringify(e)});try{var o=await fetch(n);if(!o.ok){if(422===o.status)throw t=await o.json(),console.log(JSON.stringify(t.detail,null,4)),new Error("Unprocessable Request");if(401==o.status)throw t=await o.json(),console.log(`Missing authentication token ${t.detail}`),new Error("Missing authentication token");throw new Error(`Failed to save the log entry\n Status: ${o.status}`)}let e=(t=await o.json()).detail,i=null;if(this.selector_id){let e=this.selector_id.replace("-toggleSelectedQuestion","");i=document.getElementById(`${e}_score`)}else i=document.getElementById(`${this.divid}_score`);i&&!this.isTimed&&e.score&&this.updateScores(i,e)}catch(e){let n="none";t&&t.detail&&(n=t.detail),eBookConfig.useRunestoneServices&&alert(`Error: Your action was not saved!\n The error was ${e}\n Status Code: ${o.status}\n Detail: ${JSON.stringify(n,null,4)}.\n Please report this error!`),console.log(`Error: ${e} Detail: ${n} Status Code: ${o.status}`)}return t}updateScores(e,t){if(!t.assigned||null===t.score)return void(document.getElementById(`${this.divid}_message`).innerHTML="Score not updated. Submissions are closed.");let n=e.getElementsByClassName("qscore")[0];n&&(n.innerHTML=t.score.toFixed(1));let o=document.getElementsByClassName("qscore"),i=document.getElementsByClassName("qmaxscore"),a=0,s=0;for(let e=0;e0){let n=new Request(`${eBookConfig.new_server_prefix}/logger/runlog`,{method:"POST",headers:this.jsonHeaders,body:JSON.stringify(e)}),o=await fetch(n);o.ok?t=await o.json():(t=await o.json(),eBookConfig.useRunestoneServices?alert(`Failed to save your code\n Status is ${o.status}\n Detail: ${JSON.stringify(t.detail,null,4)}`):console.log(`Did not save the code.\n Status: ${o.status}\n Detail: ${JSON.stringify(t.detail,null,4)}`))}return this.isTimed&&!eBookConfig.debug||console.log("running "+JSON.stringify(e)),"function"==typeof o.X.updateProgress&&0==this.optional&&o.X.updateProgress(e.div_id),t}}async checkServer(e,t=!1){let n=this;if(this.checkServerComplete=new Promise((function(e,t){n.csresolver=e})),eBookConfig.isLoggedIn&&(this.useRunestoneServices||this.graderactive)){let t={};if(t.div_id=this.divid,t.course=eBookConfig.course,t.event=e,this.graderactive&&this.deadline&&(t.deadline=this.deadline,t.rawdeadline=this.rawdeadline,t.tzoff=this.tzoff),this.sid&&(t.sid=this.sid),t.div_id&&t.course&&t.event||console.log(`A required field is missing data ${t.div_id}:${t.course}:${t.event}`),eBookConfig.practice_mode||eBookConfig.peer||!this.assessmentTaken)this.loadData({}),console.log("resolving checkServer no answer given"),this.csresolver("not taken");else{let e=new Request(`${eBookConfig.new_server_prefix}/assessment/results`,{method:"POST",body:JSON.stringify(t),headers:this.jsonHeaders});try{let n=await fetch(e);console.log(`Response from server: ${n.status}`),n.ok?(t=await n.json(),t=t.detail,console.log(`Data from server: ${JSON.stringify(t)} calling repopulateFromStorage`),this.repopulateFromStorage(t),this.attempted=!0,void 0!==t.correct?this.correct=t.correct:this.correct=null,console.log("resolving checkServer with server data"),this.csresolver("server")):(console.log(`HTTP Error getting results: ${n.statusText}`),this.checkLocalStorage(),console.log("resolving checkServer with local data"),this.csresolver("local"))}catch(e){console.log(`Error getting results: ${e}`);try{this.checkLocalStorage()}catch(e){console.log(e)}}}}else this.checkLocalStorage(),console.log("resolving checkServer with local data"),this.csresolver("local");t&&this.indicate_component_ready()}indicate_component_ready(){this.containerDiv.classList.add("runestone-component-ready"),this._component_ready_resolve_fn()}loadData(e){return null}repopulateFromStorage(e){null!==e&&"no data"!==e&&this.shouldUseServer(e)?(this.restoreAnswers(e),this.setLocalStorage(e)):this.checkLocalStorage(),this.decorateStatus()}shouldUseServer(e){if("T"===e.correct||!0===e.correct||0===localStorage.length||!0===this.graderactive||this.isTimed)return!0;let t,n=localStorage.getItem(this.localStorageKey());if(null===n)return!0;try{t=JSON.parse(n)}catch(e){return console.log(e.message),localStorage.removeItem(this.localStorageKey()),!0}if(e.answer==t.answer)return!0;let o=new Date(t.timestamp);return new Date(e.timestamp)>=o}localStorageKey(){return eBookConfig.email+":"+eBookConfig.course+":"+this.divid+"-given"}addCaption(e){if(!this.isTimed){var t=document.createElement("p");this.question_label?(this.caption=eBookConfig.useRunestoneServices?`Activity: ${this.question_label} ${this.caption} (${this.divid})`:`Activity: ${this.question_label} ${this.caption}`,$(t).html(this.caption),$(t).addClass(`${e}_caption`)):($(t).html(eBookConfig.useRunestoneServices?this.caption+" ("+this.divid+")":this.caption),$(t).addClass(`${e}_caption`),$(t).addClass(`${e}_caption_text`)),this.capDiv=t,this.containerDiv.appendChild(t)}}hasUserActivity(){return this.isAnswered}checkCurrentAnswer(){console.log("Each component should provide an implementation of checkCurrentAnswer")}async logCurrentAnswer(){console.log("Each component should provide an implementation of logCurrentAnswer")}renderFeedback(){console.log("Each component should provide an implementation of renderFeedback")}disableInteraction(){console.log("Each component should provide an implementation of disableInteraction")}toString(){return`${this.constructor.name}: ${this.divid}`}queueMathJax(e){return"undefined"==typeof MathJax?(console.log("Error -- MathJax is not loaded"),Promise.resolve(null)):MathJax.typesetPromise?void 0!==window.runestoneMathReady?window.runestoneMathReady.then((()=>this.mjresolver(this.aQueue.enqueue(e)))):this.mjresolver(this.aQueue.enqueue(e)):(console.log(`Waiting on MathJax!! ${MathJax.typesetPromise}`),setTimeout((()=>this.queueMathJax(e)),200),console.log(`Returning mjready promise: ${this.mjReady}`),this.mjReady)}decorateStatus(){if(this.isTimed||eBookConfig.peer)return;let e=$(this.containerDiv).closest("div.runestone")[0];e&&(e.classList.remove("notAnswered"),e.classList.remove("isInCorrect"),e.classList.remove("isCorrect"),this.correct?e.classList.add("isCorrect"):null===this.correct||void 0===this.correct?e.classList.add("notAnswered"):e.classList.add("isInCorrect"))}}class s{constructor(){this._items=[]}enqueue(e){this._items.push(e)}dequeue(){return this._items.shift()}get size(){return this._items.length}}class r extends s{constructor(){super(),this._pendingPromise=!1}enqueue(e){return new Promise(((t,n)=>{super.enqueue({component:e,resolve:t,reject:n}),this.dequeue()}))}async dequeue(){if(this._pendingPromise)return!1;let e=super.dequeue();if(!e)return!1;let t=this;try{this._pendingPromise=!0;let n=await window.runestoneMathReady.then((async function(){if(console.log(`MathJax Ready -- dequeing a typesetting run for ${e.component.id} ${t.preamble?.innerHTML}`),t.preamble){await MathJax.typesetPromise([t.preamble]);let n=document.createElement("div");return n.innerHTML=t.preamble.innerHTML,e.component.insertAdjacentElement("afterbegin",n),console.log(`MathJax typeset the preamble for ${e.component.id}`),await MathJax.typesetPromise([e.component])}return await MathJax.typesetPromise([e.component])}));this._pendingPromise=!1,e.resolve(n)}catch(t){this._pendingPromise=!1,e.reject(t)}finally{this.dequeue()}return!0}}window.RunestoneBase=a},83057:(e,t,n)=>{"use strict";n.d(t,{X:()=>i,u:()=>a});class o{constructor(e){if(this.possible=0,this.total=1,e&&"assignment_spec"in e&&(this.assignment_spec=e.assignment_spec,delete e.assignment_spec),e&&Object.keys(e).length>0)this.activities=e;else{let e={page:0};document.querySelectorAll(".runestone").forEach((function(t){e[t.firstElementChild.id]=0})),this.activities=e}if(this.calculateProgress(),window.location.pathname.match(/.*\/(index.html|toctree.html|Exercises.html|search.html)$/i)){const e=document.getElementById("scprogresscontainer");e&&(e.style.display="none")}this.renderProgress()}calculateProgress(){for(let e in this.activities)void 0!==e&&(this.possible++,this.activities[e]>0&&this.total++)}renderProgress(){let e=0;const t=document.getElementById("scprogresstotal");t&&(t.textContent=this.total);const n=document.getElementById("scprogressposs");n&&(n.textContent=this.possible);try{e=100*this.total/this.possible}catch(t){e=0}let o=document.getElementById("subchapterprogress");if(o&&"PROGRESS"!==o.tagName){const t=document.createElement("progress");t.id="subchapterprogress",t.max=100,t.value=e,t.className=o.className,o.replaceWith(t),o=t}else o&&(o.max=100,o.value=e);if(this.assignment_spec&&this.total-1>=(this.assignment_spec.activities_required||0)&&this.sendCompletedReadingScore().then((()=>{console.log("Reading score sent for page"),setTimeout((()=>{let e=document.getElementById("completionButton");e&&"mark as completed"===e.textContent.toLowerCase()&&e.click()}),500)})),!eBookConfig.isLoggedIn){const e=document.getElementById("subchapterprogress");e&&e.classList.add("loggedout")}}updateProgress(e){if(this.activities[e]++,1===this.activities[e]){this.total++;let e=100*this.total/this.possible;const t=document.getElementById("scprogresstotal");t&&(t.textContent=this.total);const n=document.getElementById("scprogressposs");n&&(n.textContent=this.possible);let o=document.getElementById("subchapterprogress");if(o&&"PROGRESS"===o.tagName&&(o.value=e),this.assignment_spec&&null!==this.assignment_spec.activities_required&&this.total>=this.assignment_spec.activities_required&&(console.log("Required activities completed"),this.sendCompletedReadingScore().then((()=>{console.log("Reading score sent")}))),100==e&&function(){const e=document.getElementById("completionButton");return e&&e.textContent&&"mark as completed"===e.textContent.toLowerCase()}()){const e=document.getElementById("completionButton");e&&"function"==typeof e.click&&e.click()}}}async sendCompletedReadingScore(){let e=new Headers({"Content-type":"application/json; charset=utf-8",Accept:"application/json"}),t={...this.assignment_spec},n=new Request(`${eBookConfig.new_server_prefix}/logger/update_reading_score`,{method:"POST",body:JSON.stringify(t),headers:e});try{let e=await fetch(n);e.ok||console.error(`Failed to send reading score! ${e.statusText}`),t=await e.json()}catch(e){console.error(`Error sending reading score ${e}`)}}}var i={};function a(e){return"string"==typeof e&&([/\$\$[\s\S]+?\$\$/,/\$[^$\n]+?\$/,/\\\[[\s\S]+?\\\]/,/\\\([\s\S]+?\\\)/].some((t=>t.test(e)))||/\\(frac|sqrt|sum|prod|int|lim|sin|cos|tan|log|ln|alpha|beta|gamma|pi|theta|sigma|Delta|cdot|times|leq|geq|neq)\b/.test(e)||/[a-zA-Z0-9]\s*[\^_]\s*\{?.+?\}?/.test(e))}document.addEventListener("runestone:login",(function(){const e=document.getElementById("profilelink");e&&e.style.removeProperty("display");const t=document.getElementById("passwordlink");t&&t.style.removeProperty("display");const n=document.getElementById("registerlink");n&&(n.style.display="none"),document.querySelectorAll("li.loginout").forEach((e=>{e.innerHTML='Log Out'}))})),document.addEventListener("runestone:logout",(function(){if(eBookConfig.useRunestoneServices){console.log("setup navbar for logged out");const e=document.getElementById("registerlink");e&&e.style.removeProperty("display");const t=document.getElementById("profilelink");t&&(t.style.display="none");const n=document.getElementById("passwordlink");n&&(n.style.display="none");const o=document.getElementById("ip_dropdown_link");o&&(o.style.display="none");const i=document.getElementById("inst_peer_link");i&&(i.style.display="none"),document.querySelectorAll("li.loginout").forEach((e=>{e.innerHTML='Login'})),document.querySelectorAll(".footer").forEach((e=>{e.innerHTML="user not logged in"}))}})),document.addEventListener("DOMContentLoaded",(function(){eBookConfig?(async function(){var e;if(eBookConfig.useRunestoneServices){let e=new Headers({"Content-type":"application/json; charset=utf-8",Accept:"application/json"}),n={timezoneoffset:(new Date).getTimezoneOffset()/60,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone},o=function(){const e=`; ${document.cookie}`.split("; RS_info=");if(2===e.length)return e.pop().split(";").shift()}();var t=!1;if(o)try{let e=o.replace(/\\054/g,","),i=JSON.parse(decodeURIComponent(e));i=JSON.parse(decodeURIComponent(i)),i.timezone===n.timezone&&i.tz_offset===n.timezoneoffset&&(console.log("Timezone cookie matches, not sending timezone to server"),t=!0)}catch(e){console.error("Error parsing RS_info cookie, sending timezone to server")}if(!1===t){let t=new Request(`${eBookConfig.new_server_prefix}/logger/set_tz_offset`,{method:"POST",body:JSON.stringify(n),headers:e});try{let e=await fetch(t);e.ok||console.error(`Failed to set timezone! ${e.statusText}`),n=await e.json()}catch(e){console.error(`Error setting timezone ${e}`)}}}if(console.log(`This page served by ${eBookConfig.served_by}`),eBookConfig.isLoggedIn){if(e=`username: ${eBookConfig.username}`,!eBookConfig.isInstructor){const e=document.getElementById("ip_dropdown_link");e&&"function"==typeof e.remove&&e.remove();const t=document.getElementById("inst_peer_link");t&&"function"==typeof t.remove&&t.remove()}document.dispatchEvent(new Event("runestone:login")),function(){if(eBookConfig.readings){var e,t,n,o;let i=window.location.pathname.split("/"),a=i[i.length-2]+"/"+i[i.length-1],s=!1,r=2;document.getElementsByTagName("body")[0].classList.contains("pretext")&&(s=!0,eBookConfig.readings=eBookConfig.readings.map((e=>e.split("/").pop())),a=a.split("/").pop(),r=1);let d=eBookConfig.readings.indexOf(a),l=eBookConfig.readings.length;if(d==eBookConfig.readings.length-1?(e=document.createElement("div")).textContent=`Finished reading assignment. Page ${l} of ${l}.`:d>=0?(t=eBookConfig.readings[d+1],(n=i.slice(0,i.length-r)).push(t),o=n.join("/"),(e=document.createElement("a")).name="link",e.className="btn btn-lg reading-navigation next-reading",e.href=o,e.textContent=`Continue to page ${d+2} of ${l} in the reading assignment.`):((e=document.createElement("div")).className="reading-navigation no-assignment",e.textContent="This page is not part of the last reading assignment you visited."),s){let t=document.getElementById("scprogresscontainer");return void(t&&(t.style.marginBottom="20px",t.appendChild(e)))}const u=document.getElementById("main-content");u&&e&&u.appendChild(e)}}(),-1==window.location.pathname.indexOf("/admin/grading")&&-1==window.location.pathname.indexOf("/peer/")&&function(){let e;function t(){location.href.indexOf("index.html")<0&&(console.log("Idle timer - "+location.pathname),location.href=eBookConfig.app+"/default/user/login?_next="+location.pathname+location.search)}function n(){e&&clearTimeout(e),e=setTimeout(t,9e5)}["mousemove","keydown","scroll","click","touchstart","wheel"].forEach((e=>{window.addEventListener(e,n,{passive:!0})})),n()}()}else{e="Not logged in",document.dispatchEvent(new Event("runestone:logout"));let t=document.getElementById("browsing_warning");t&&(t.innerHTML="");let n=document.getElementById("ad_warning");n&&(n.innerHTML="")}document.querySelectorAll(".loggedinuser").forEach((t=>{t.innerHTML=e})),i=new o(eBookConfig.activities),console.log("triggering runestone:pre-login-complete"),document.dispatchEvent(new Event("runestone:pre-login-complete"))}(),function(){if("undefined"!=typeof showAd&&showAd){let e=Math.floor(2*Math.random())+1,t=document.getElementById(`adcopy_${e}`),n=document.querySelectorAll(".runestone");n.length>0&&(n[Math.floor(Math.random()*n.length)].after(t),t.style.display="block")}}()):"undefined"==typeof eBookConfig&&console.log("eBookConfig is not defined. This page must not be set up for Runestone")})),window.addEventListener("load",(function(){if(document.querySelectorAll(".video-play-overlay").forEach((function(e){e.style.backgroundImage="url('{{pathto('_static/play_overlay_icon.png', 1)}}')"})),document.querySelectorAll(".dropdown input, .dropdown label").forEach((function(e){e.addEventListener("click",(function(e){e.stopPropagation()}))})),location.href.includes("mode=browsing")){let e="?mode=browsing";document.querySelectorAll("a").forEach((t=>{let n="";if(t.href.includes("books/published")&&!t.href.includes("?mode=browsing")){if(t.href.includes("#")){let e=t.href.indexOf("#");n=t.href.substring(e),t.href=t.href.substring(0,e)}t.href=t.href.includes("?")?t.href+e.replace("?","&")+n:t.href+e+n}}))}}))},98098:(e,t,n)=>{"use strict";n.d(t,{$y:()=>a,JK:()=>i,yT:()=>s});var o=n(77394);async function i(e,t,n){if(!e)return void jQuery(`#${t}`).html("

    Sorry, no source is available for preview.

    ");e=e.replace(/..\/_images/g,`${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`),jQuery(`#${t}`).html(e),void 0===window.componentMap&&(window.componentMap={});let i=$($(`#${t} [data-component]`)[0]).data("component");await(0,o.w)(i);let a={};if(a.orig=jQuery(`#${t} [data-component]`)[0],a.orig&&(a.lang=$(a.orig).data("lang"),a.useRunestoneServices=!0,a.graderactive=!1,a.python3=!0,void 0!==n))for(let e in n)a[e]=n[e];if("undefined"==typeof component_factory)alert("Error: Missing the component factory!");else if(window.component_factory[i]||jQuery(`#${t}`).html()){let e=window.component_factory[i](a);"activecode"===i&&(n.multiGrader?window.componentMap[`${n.gradingContainer} ${e.divid}`]=e:window.componentMap[e.divid]=e)}else jQuery(`#${t}`).html(`

    Preview not available for ${i}

    `)}function a(e,t){e=e.replace(/..\/_images/g,`${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`);let n,o,i=$($(e).find("[data-component]")[0]).data("component"),a=$(e).find("[data-component]").first().attr("id");document.getElementById(a)||(n=$("
    ",{css:{display:"none"}}).appendTo("body"),n.html(e));let s={orig:document.getElementById(a),timed:!0};if(void 0!==t)for(let e in t)s[e]=t[e];i in window.component_factory&&(o=window.component_factory[i](s));let r={};return r.question=o,r}async function s(e){let t=e.querySelector("[data-component]");if(null==t)return void console.log("Render was called for a component, but now [data-component] attribute is present. This may mean the component has already been rendered.");let n=t.dataset.component;if(await(0,o.w)(n),0==$(this).closest("[data-component=timedAssessment]").length)try{let e=t.id;window.componentMap[e]=window.component_factory[n]({orig:t,useRunestoneServices:eBookConfig.useRunestoneServices})}catch(e){console.log(`Error rendering ${n} Problem ${this.id}\n Details: ${e}`)}}}},e=>{e.O(0,[723],(()=>e(e.s=77394))),e.O()}]); -//# sourceMappingURL=prefix-runestone.c2757fc695bc848c.bundle.js.map \ No newline at end of file +/*! For license information please see prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt */ +(self.webpackChunkWebComponents=self.webpackChunkWebComponents||[]).push([[222],{3403:()=>{!function(e){var t=function(t,n){var o;(o=function(t,i){i=i||0,t.find("> li > a.internal, > ul, > li > ul").each((function(t,a){var s=e(a),r=a.tagName.toLowerCase(),d=s.children("li"),l=e(s.parent("li"),s.parent().parent("li"));"ul"===r&&i>=n&&d.length>0&&(l.addClass("dropdown-submenu").children("a").first().attr("tabindex",-1),s.addClass("dropdown-menu")),o(s,i+1)}))})(t)};patchTables=function(){e("table.docutils").removeClass("docutils").addClass("table").attr("border",0)},e((function(){if(e("#navbar.navbar-fixed-top").length>0){var n=e("#navbar").height(),o=function(){scrollBy(0,-n-10)};location.hash&&o(),window.addEventListener("hashchange",o)}e(".dropdown-menu").each((function(){e(this).find("ul").each((function(t,n){e(n).addClass("unstyled")}))})),e("ul.globaltoc li").length?t(e("ul.globaltoc"),1):e(".globaltoc-container").remove(),t(e("ul.localtoc"),2),e(".dropdown-menu ul").not(".dropdown-menu").each((function(){var t=e(this),n=t.parent(),o=n[0].tagName.toLowerCase(),i=t.children().detach();"ul"===o?t.replaceWith(i):"li"===o&&(n.after(i),t.remove())})),$localLi=e("ul.localtoc li"),$localLi.length>2&&$localLi.first().after('
  • '),e(".dropdown-toggle").dropdown(),patchTables(),e("div.note").addClass("alert").addClass("alert-info"),e("div.warning").addClass("alert").addClass("alert-warning"),e("tt.docutils.literal").not(".xref").each((function(t,n){e(n).parent().hasClass("reference")||e(n).replaceWith((function(){return e("").text(e(this).text())}))}))}))}(window.jQuery)},19695:()=>{var e,t=!1;function n(){t||(function(){let t=$("[data-childcomponent]");t.addClass("runestone"),t.parent().closest("div").not("section").addClass("runestone"),t.parent().closest("div").css("max-width","none"),t.each((function(e){$(this),$(this).find(".ac_code_div, .ac_output").wrapAll("
    ")})),$("section img").wrap('
    '),e=$(".runestone").not(".runestone .runestone"),$("h1").before("
    ")}(),t=!0);let n=$("body"),o="present",a="full-height",s="bottom";n.hasClass(o)?($("section *").not("h1, .presentation-title, .btn-presenter, .runestone, .runestone *, section, .pre, code").removeClass("hidden"),$("#completionButton").removeClass("hidden"),n.removeClass(o),$("."+a).removeClass(a),$("."+s).removeClass(s),localStorage.setItem("presentMode","text"),e.removeClass("hidden"),undefined.disabled=!0):($("section *").not("h1, .presentation-title, .btn-presenter, .runestone, .runestone *, section, .pre, code").addClass("hidden"),$("#completionButton").addClass("hidden"),n.addClass(o),n.addClass(a),$("html").addClass(a),$("section .runestone").addClass(a),$(".ac-caption").addClass(s),localStorage.setItem("presentMode",o),i())}function o(){return active=e.filter(".active")}function i(t){void 0===t&&(t=0);let n=o();e.length&&(n.removeClass("active"),n=$(e[t]).addClass("active"),n.removeClass("hidden"),e.not(e.filter(".active")).addClass("hidden"))}window.nextExercise=function(){let t=o(),n=e.index(t)+1;n=0&&i(n)},$(document).on("runestone:login-complete",(function(){eBookConfig.isInstructor&&($(".navbar-right").prepend(""),$(".mode-select").change(n))}))},23836:()=>{!function(e){"use strict";e.i18n=e.i18n||{},e.extend(e.i18n.fallbacks,{ab:["ru"],ace:["id"],aln:["sq"],als:["gsw","de"],an:["es"],anp:["hi"],arn:["es"],arz:["ar"],av:["ru"],ay:["es"],ba:["ru"],bar:["de"],"bat-smg":["sgs","lt"],bcc:["fa"],"be-x-old":["be-tarask"],bh:["bho"],bjn:["id"],bm:["fr"],bpy:["bn"],bqi:["fa"],bug:["id"],"cbk-zam":["es"],ce:["ru"],crh:["crh-latn"],"crh-cyrl":["ru"],csb:["pl"],cv:["ru"],"de-at":["de"],"de-ch":["de"],"de-formal":["de"],dsb:["de"],dtp:["ms"],egl:["it"],eml:["it"],ff:["fr"],fit:["fi"],"fiu-vro":["vro","et"],frc:["fr"],frp:["fr"],frr:["de"],fur:["it"],gag:["tr"],gan:["gan-hant","zh-hant","zh-hans"],"gan-hans":["zh-hans"],"gan-hant":["zh-hant","zh-hans"],gl:["pt"],glk:["fa"],gn:["es"],gsw:["de"],hif:["hif-latn"],hsb:["de"],ht:["fr"],ii:["zh-cn","zh-hans"],inh:["ru"],iu:["ike-cans"],jut:["da"],jv:["id"],kaa:["kk-latn","kk-cyrl"],kbd:["kbd-cyrl"],khw:["ur"],kiu:["tr"],kk:["kk-cyrl"],"kk-arab":["kk-cyrl"],"kk-latn":["kk-cyrl"],"kk-cn":["kk-arab","kk-cyrl"],"kk-kz":["kk-cyrl"],"kk-tr":["kk-latn","kk-cyrl"],kl:["da"],"ko-kp":["ko"],koi:["ru"],krc:["ru"],ks:["ks-arab"],ksh:["de"],ku:["ku-latn"],"ku-arab":["ckb"],kv:["ru"],lad:["es"],lb:["de"],lbe:["ru"],lez:["ru"],li:["nl"],lij:["it"],liv:["et"],lmo:["it"],ln:["fr"],ltg:["lv"],lzz:["tr"],mai:["hi"],"map-bms":["jv","id"],mg:["fr"],mhr:["ru"],min:["id"],mo:["ro"],mrj:["ru"],mwl:["pt"],myv:["ru"],mzn:["fa"],nah:["es"],nap:["it"],nds:["de"],"nds-nl":["nl"],"nl-informal":["nl"],no:["nb"],os:["ru"],pcd:["fr"],pdc:["de"],pdt:["de"],pfl:["de"],pms:["it"],pt:["pt-br"],"pt-br":["pt"],qu:["es"],qug:["qu","es"],rgn:["it"],rmy:["ro"],"roa-rup":["rup"],rue:["uk","ru"],ruq:["ruq-latn","ro"],"ruq-cyrl":["mk"],"ruq-latn":["ro"],sa:["hi"],sah:["ru"],scn:["it"],sg:["fr"],sgs:["lt"],sli:["de"],sr:["sr-ec"],srn:["nl"],stq:["de"],su:["id"],szl:["pl"],tcy:["kn"],tg:["tg-cyrl"],tt:["tt-cyrl","ru"],"tt-cyrl":["ru"],ty:["fr"],udm:["ru"],ug:["ug-arab"],uk:["ru"],vec:["it"],vep:["et"],vls:["nl"],vmf:["de"],vot:["fi"],vro:["et"],wa:["fr"],wo:["fr"],wuu:["zh-hans"],xal:["ru"],xmf:["ka"],yi:["he"],za:["zh-hans"],zea:["nl"],zh:["zh-hans"],"zh-classical":["lzh"],"zh-cn":["zh-hans"],"zh-hant":["zh-hans"],"zh-hk":["zh-hant","zh-hans"],"zh-min-nan":["nan"],"zh-mo":["zh-hk","zh-hant","zh-hans"],"zh-my":["zh-sg","zh-hans"],"zh-sg":["zh-hans"],"zh-tw":["zh-hant","zh-hans"],"zh-yue":["yue"]})}(jQuery)},35773:()=>{!function(e){"use strict";var t={pluralRules:{ak:{one:"n = 0..1"},am:{one:"i = 0 or n = 1"},ar:{zero:"n = 0",one:"n = 1",two:"n = 2",few:"n % 100 = 3..10",many:"n % 100 = 11..99"},ars:{zero:"n = 0",one:"n = 1",two:"n = 2",few:"n % 100 = 3..10",many:"n % 100 = 11..99"},as:{one:"i = 0 or n = 1"},be:{one:"n % 10 = 1 and n % 100 != 11",few:"n % 10 = 2..4 and n % 100 != 12..14",many:"n % 10 = 0 or n % 10 = 5..9 or n % 100 = 11..14"},bh:{one:"n = 0..1"},bn:{one:"i = 0 or n = 1"},br:{one:"n % 10 = 1 and n % 100 != 11,71,91",two:"n % 10 = 2 and n % 100 != 12,72,92",few:"n % 10 = 3..4,9 and n % 100 != 10..19,70..79,90..99",many:"n != 0 and n % 1000000 = 0"},bs:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},cs:{one:"i = 1 and v = 0",few:"i = 2..4 and v = 0",many:"v != 0"},cy:{zero:"n = 0",one:"n = 1",two:"n = 2",few:"n = 3",many:"n = 6"},da:{one:"n = 1 or t != 0 and i = 0,1"},dsb:{one:"v = 0 and i % 100 = 1 or f % 100 = 1",two:"v = 0 and i % 100 = 2 or f % 100 = 2",few:"v = 0 and i % 100 = 3..4 or f % 100 = 3..4"},fa:{one:"i = 0 or n = 1"},ff:{one:"i = 0,1"},fil:{one:"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"},fr:{one:"i = 0,1"},ga:{one:"n = 1",two:"n = 2",few:"n = 3..6",many:"n = 7..10"},gd:{one:"n = 1,11",two:"n = 2,12",few:"n = 3..10,13..19"},gu:{one:"i = 0 or n = 1"},guw:{one:"n = 0..1"},gv:{one:"v = 0 and i % 10 = 1",two:"v = 0 and i % 10 = 2",few:"v = 0 and i % 100 = 0,20,40,60,80",many:"v != 0"},he:{one:"i = 1 and v = 0",two:"i = 2 and v = 0",many:"v = 0 and n != 0..10 and n % 10 = 0"},hi:{one:"i = 0 or n = 1"},hr:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},hsb:{one:"v = 0 and i % 100 = 1 or f % 100 = 1",two:"v = 0 and i % 100 = 2 or f % 100 = 2",few:"v = 0 and i % 100 = 3..4 or f % 100 = 3..4"},hy:{one:"i = 0,1"},is:{one:"t = 0 and i % 10 = 1 and i % 100 != 11 or t != 0"},iu:{one:"n = 1",two:"n = 2"},iw:{one:"i = 1 and v = 0",two:"i = 2 and v = 0",many:"v = 0 and n != 0..10 and n % 10 = 0"},kab:{one:"i = 0,1"},kn:{one:"i = 0 or n = 1"},kw:{one:"n = 1",two:"n = 2"},lag:{zero:"n = 0",one:"i = 0,1 and n != 0"},ln:{one:"n = 0..1"},lt:{one:"n % 10 = 1 and n % 100 != 11..19",few:"n % 10 = 2..9 and n % 100 != 11..19",many:"f != 0"},lv:{zero:"n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19",one:"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"},mg:{one:"n = 0..1"},mk:{one:"v = 0 and i % 10 = 1 or f % 10 = 1"},mo:{one:"i = 1 and v = 0",few:"v != 0 or n = 0 or n != 1 and n % 100 = 1..19"},mr:{one:"i = 0 or n = 1"},mt:{one:"n = 1",few:"n = 0 or n % 100 = 2..10",many:"n % 100 = 11..19"},naq:{one:"n = 1",two:"n = 2"},nso:{one:"n = 0..1"},pa:{one:"n = 0..1"},pl:{one:"i = 1 and v = 0",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14",many:"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"},prg:{zero:"n % 10 = 0 or n % 100 = 11..19 or v = 2 and f % 100 = 11..19",one:"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"},pt:{one:"i = 0..1"},ro:{one:"i = 1 and v = 0",few:"v != 0 or n = 0 or n != 1 and n % 100 = 1..19"},ru:{one:"v = 0 and i % 10 = 1 and i % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14",many:"v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14"},se:{one:"n = 1",two:"n = 2"},sh:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},shi:{one:"i = 0 or n = 1",few:"n = 2..10"},si:{one:"n = 0,1 or i = 0 and f = 1"},sk:{one:"i = 1 and v = 0",few:"i = 2..4 and v = 0",many:"v != 0"},sl:{one:"v = 0 and i % 100 = 1",two:"v = 0 and i % 100 = 2",few:"v = 0 and i % 100 = 3..4 or v != 0"},sma:{one:"n = 1",two:"n = 2"},smi:{one:"n = 1",two:"n = 2"},smj:{one:"n = 1",two:"n = 2"},smn:{one:"n = 1",two:"n = 2"},sms:{one:"n = 1",two:"n = 2"},sr:{one:"v = 0 and i % 10 = 1 and i % 100 != 11 or f % 10 = 1 and f % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14 or f % 10 = 2..4 and f % 100 != 12..14"},ti:{one:"n = 0..1"},tl:{one:"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"},tzm:{one:"n = 0..1 or n = 11..99"},uk:{one:"v = 0 and i % 10 = 1 and i % 100 != 11",few:"v = 0 and i % 10 = 2..4 and i % 100 != 12..14",many:"v = 0 and i % 10 = 0 or v = 0 and i % 10 = 5..9 or v = 0 and i % 100 = 11..14"},wa:{one:"n = 0..1"},zu:{one:"i = 0 or n = 1"}},convertPlural:function(t,n){var o,i,a,s,r=new RegExp("\\d+=","i");if(!n||0===n.length)return"";for(a=0;a{!function(e){"use strict";var t;t=new RegExp("(?:([A-Za-zªµºÀ-ÖØ-öø-ʸʻ-ˁːˑˠ-ˤˮͰ-ͳͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-҂Ҋ-ԯԱ-Ֆՙ-՟ա-և։ः-हऻऽ-ीॉ-ौॎ-ॐक़-ॡ।-ঀংঃঅ-ঌএঐও-নপ-রলশ-হঽ-ীেৈোৌৎৗড়ঢ়য়-ৡ০-ৱ৴-৺ਃਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਾ-ੀਖ਼-ੜਫ਼੦-੯ੲ-ੴઃઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽ-ીૉોૌૐૠૡ૦-૰ૹଂଃଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽାୀେୈୋୌୗଡ଼ଢ଼ୟ-ୡ୦-୷ஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹாிுூெ-ைொ-ௌௐௗ௦-௲ఁ-ఃఅ-ఌఎ-ఐఒ-నప-హఽు-ౄౘ-ౚౠౡ౦-౯౿ಂಃಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ-ೄೆ-ೈೊೋೕೖೞೠೡ೦-೯ೱೲംഃഅ-ഌഎ-ഐഒ-ഺഽ-ീെ-ൈൊ-ൌൎൗൟ-ൡ൦-൵൹-ൿංඃඅ-ඖක-නඳ-රලව-ෆා-ෑෘ-ෟ෦-෯ෲ-෴ก-ะาำเ-ๆ๏-๛ກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆ໐-໙ໜ-ໟༀ-༗༚-༴༶༸༾-ཇཉ-ཬཿ྅ྈ-ྌ྾-࿅࿇-࿌࿎-࿚က-ာေးျြဿ-ၗၚ-ၝၡ-ၰၵ-ႁႃႄႇ-ႌႎ-ႜ႞-ჅჇჍა-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚ፠-፼ᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙿᚁ-ᚚᚠ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱ᜵᜶ᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳាើ-ៅះៈ។-៚ៜ០-៩᠐-᠙ᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᤣ-ᤦᤩ-ᤫᤰᤱᤳ-ᤸ᥆-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉ᧐-᧚ᨀ-ᨖᨙᨚ᨞-ᩕᩗᩡᩣᩤᩭ-ᩲ᪀-᪉᪐-᪙᪠-᪭ᬄ-ᬳᬵᬻᬽ-ᭁᭃ-ᭋ᭐-᭪᭴-᭼ᮂ-ᮡᮦᮧ᮪ᮮ-ᯥᯧᯪ-ᯬᯮ᯲᯳᯼-ᰫᰴᰵ᰻-᱉ᱍ-᱿᳀-᳇᳓᳡ᳩ-ᳬᳮ-ᳳᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼ‎ⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎ⅏Ⅰ-ↈ⌶-⍺⎕⒜-ⓩ⚬⠀-⣿Ⰰ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯ⵰ⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〮〯〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎ㆐-ㆺㇰ-㈜㈠-㉏㉠-㉻㉿-㊰㋀-㋋㋐-㋾㌀-㍶㍻-㏝㏠-㏾㐀-䶵一-鿕ꀀ-ꒌꓐ-ꘌꘐ-ꘫꙀ-ꙮꚀ-ꚝꚠ-ꛯ꛲-꛷Ꜣ-ꞇ꞉-ꞭꞰ-ꞷꟷ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠤꠧ꠰-꠷ꡀ-ꡳꢀ-ꣃ꣎-꣙ꣲ-ꣽ꤀-ꤥ꤮-ꥆꥒ꥓꥟-ꥼꦃ-ꦲꦴꦵꦺꦻꦽ-꧍ꧏ-꧙꧞-ꧤꧦ-ꧾꨀ-ꨨꨯꨰꨳꨴꩀ-ꩂꩄ-ꩋꩍ꩐-꩙꩜-ꩻꩽ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫫꫮ-ꫵꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭥꭰ-ꯤꯦꯧꯩ-꯬꯰-꯹가-힣ힰ-ퟆퟋ-ퟻ-舘並-龎ff-stﬓ-ﬗA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ]|\ud800[\udc00-\udc0b]|\ud800[\udc0d-\udc26]|\ud800[\udc28-\udc3a]|𐀼|𐀽|\ud800[\udc3f-\udc4d]|\ud800[\udc50-\udc5d]|\ud800[\udc80-\udcfa]|𐄀|𐄂|\ud800[\udd07-\udd33]|\ud800[\udd37-\udd3f]|\ud800[\uddd0-\uddfc]|\ud800[\ude80-\ude9c]|\ud800[\udea0-\uded0]|\ud800[\udf00-\udf23]|\ud800[\udf30-\udf4a]|\ud800[\udf50-\udf75]|\ud800[\udf80-\udf9d]|\ud800[\udf9f-\udfc3]|\ud800[\udfc8-\udfd5]|\ud801[\udc00-\udc9d]|\ud801[\udca0-\udca9]|\ud801[\udd00-\udd27]|\ud801[\udd30-\udd63]|𐕯|\ud801[\ude00-\udf36]|\ud801[\udf40-\udf55]|\ud801[\udf60-\udf67]|𑀀|\ud804[\udc02-\udc37]|\ud804[\udc47-\udc4d]|\ud804[\udc66-\udc6f]|\ud804[\udc82-\udcb2]|𑂷|𑂸|\ud804[\udcbb-\udcc1]|\ud804[\udcd0-\udce8]|\ud804[\udcf0-\udcf9]|\ud804[\udd03-\udd26]|𑄬|\ud804[\udd36-\udd43]|\ud804[\udd50-\udd72]|\ud804[\udd74-\udd76]|\ud804[\udd82-\uddb5]|\ud804[\uddbf-\uddc9]|𑇍|\ud804[\uddd0-\udddf]|\ud804[\udde1-\uddf4]|\ud804[\ude00-\ude11]|\ud804[\ude13-\ude2e]|𑈲|𑈳|𑈵|\ud804[\ude38-\ude3d]|\ud804[\ude80-\ude86]|𑊈|\ud804[\ude8a-\ude8d]|\ud804[\ude8f-\ude9d]|\ud804[\ude9f-\udea9]|\ud804[\udeb0-\udede]|\ud804[\udee0-\udee2]|\ud804[\udef0-\udef9]|𑌂|𑌃|\ud804[\udf05-\udf0c]|𑌏|𑌐|\ud804[\udf13-\udf28]|\ud804[\udf2a-\udf30]|𑌲|𑌳|\ud804[\udf35-\udf39]|\ud804[\udf3d-\udf3f]|\ud804[\udf41-\udf44]|𑍇|𑍈|\ud804[\udf4b-\udf4d]|𑍐|𑍗|\ud804[\udf5d-\udf63]|\ud805[\udc80-\udcb2]|𑒹|\ud805[\udcbb-\udcbe]|𑓁|\ud805[\udcc4-\udcc7]|\ud805[\udcd0-\udcd9]|\ud805[\udd80-\uddb1]|\ud805[\uddb8-\uddbb]|𑖾|\ud805[\uddc1-\udddb]|\ud805[\ude00-\ude32]|𑘻|𑘼|𑘾|\ud805[\ude41-\ude44]|\ud805[\ude50-\ude59]|\ud805[\ude80-\udeaa]|𑚬|𑚮|𑚯|𑚶|\ud805[\udec0-\udec9]|\ud805[\udf00-\udf19]|𑜠|𑜡|𑜦|\ud805[\udf30-\udf3f]|\ud806[\udca0-\udcf2]|𑣿|\ud806[\udec0-\udef8]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e]|\ud809[\udc70-\udc74]|\ud809[\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38]|\ud81a[\ude40-\ude5e]|\ud81a[\ude60-\ude69]|𖩮|𖩯|\ud81a[\uded0-\udeed]|𖫵|\ud81a[\udf00-\udf2f]|\ud81a[\udf37-\udf45]|\ud81a[\udf50-\udf59]|\ud81a[\udf5b-\udf61]|\ud81a[\udf63-\udf77]|\ud81a[\udf7d-\udf8f]|\ud81b[\udf00-\udf44]|\ud81b[\udf50-\udf7e]|\ud81b[\udf93-\udf9f]|𛀀|𛀁|\ud82f[\udc00-\udc6a]|\ud82f[\udc70-\udc7c]|\ud82f[\udc80-\udc88]|\ud82f[\udc90-\udc99]|𛲜|𛲟|\ud834[\udc00-\udcf5]|\ud834[\udd00-\udd26]|\ud834[\udd29-\udd66]|\ud834[\udd6a-\udd72]|𝆃|𝆄|\ud834[\udd8c-\udda9]|\ud834[\uddae-\udde8]|\ud834[\udf60-\udf71]|\ud835[\udc00-\udc54]|\ud835[\udc56-\udc9c]|𝒞|𝒟|𝒢|𝒥|𝒦|\ud835[\udca9-\udcac]|\ud835[\udcae-\udcb9]|𝒻|\ud835[\udcbd-\udcc3]|\ud835[\udcc5-\udd05]|\ud835[\udd07-\udd0a]|\ud835[\udd0d-\udd14]|\ud835[\udd16-\udd1c]|\ud835[\udd1e-\udd39]|\ud835[\udd3b-\udd3e]|\ud835[\udd40-\udd44]|𝕆|\ud835[\udd4a-\udd50]|\ud835[\udd52-\udea5]|\ud835[\udea8-\udeda]|\ud835[\udedc-\udf14]|\ud835[\udf16-\udf4e]|\ud835[\udf50-\udf88]|\ud835[\udf8a-\udfc2]|\ud835[\udfc4-\udfcb]|\ud836[\udc00-\uddff]|\ud836[\ude37-\ude3a]|\ud836[\ude6d-\ude74]|\ud836[\ude76-\ude83]|\ud836[\ude85-\ude8b]|\ud83c[\udd10-\udd2e]|\ud83c[\udd30-\udd69]|\ud83c[\udd70-\udd9a]|\ud83c[\udde6-\ude02]|\ud83c[\ude10-\ude3a]|\ud83c[\ude40-\ude48]|🉐|🉑|[\ud840-\ud868][\udc00-\udfff]|\ud869[\udc00-\uded6]|\ud869[\udf00-\udfff]|[\ud86a-\ud86c][\udc00-\udfff]|\ud86d[\udc00-\udf34]|\ud86d[\udf40-\udfff]|\ud86e[\udc00-\udc1d]|\ud86e[\udc20-\udfff]|[\ud86f-\ud872][\udc00-\udfff]|\ud873[\udc00-\udea1]|\ud87e[\udc00-\ude1d]|[\udb80-\udbbe][\udc00-\udfff]|\udbbf[\udc00-\udffd]|[\udbc0-\udbfe][\udc00-\udfff]|\udbff[\udc00-\udffd])|([֐־׀׃׆׈-׿߀-ߪߴߵߺ-ࠕࠚࠤࠨ࠮-ࡘ࡜-࢟‏יִײַ-ﬨשׁ-ﭏ؈؋؍؛-ي٭-ٯٱ-ەۥۦۮۯۺ-ܐܒ-ܯ݋-ޥޱ-޿ࢠ-࣢ﭐ-ﴽ﵀-﷏ﷰ-﷼﷾﷿ﹰ-﻾]|\ud802[\udc00-\udd1e]|\ud802[\udd20-\ude00]|𐨄|\ud802[\ude07-\ude0b]|\ud802[\ude10-\ude37]|\ud802[\ude3b-\ude3e]|\ud802[\ude40-\udee4]|\ud802[\udee7-\udf38]|\ud802[\udf40-\udfff]|\ud803[\udc00-\ude5f]|\ud803[\ude7f-\udfff]|\ud83a[\udc00-\udccf]|\ud83a[\udcd7-\udfff]|\ud83b[\udc00-\uddff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\udf00-\udfff]|\ud83b[\ude00-\udeef]|\ud83b[\udef2-\udeff]))"),e.extend(e.i18n.parser.emitter,{bidi:function(e){var n,o=(n=e[0].match(t))?void 0===n[2]?"ltr":"rtl":null;return"ltr"===o?"‪"+e[0]+"‬":"rtl"===o?"‫"+e[0]+"‬":e[0]}})}(jQuery)},41669:e=>{"use strict";e.exports=jQuery},46905:()=>{!function(e){"use strict";var t=function(){this.language=e.i18n.languages[String.locale]||e.i18n.languages.default};t.prototype={constructor:t,emit:function(t,n){var o,i,a,s=this;switch(typeof t){case"string":case"number":o=t;break;case"object":if(i=e.map(t.slice(1),(function(e){return s.emit(e,n)})),a=t[0].toLowerCase(),"function"!=typeof s[a])throw new Error('unknown operation "'+a+'"');o=s[a](i,n);break;case"undefined":o="";break;default:throw new Error("unexpected type in AST: "+typeof t)}return o},concat:function(t){var n="";return e.each(t,(function(e,t){n+=t})),n},replace:function(e,t){var n=parseInt(e[0],10);return n{!function(e){"use strict";var t=function(t){this.options=e.extend({},e.i18n.parser.defaults,t),this.language=e.i18n.languages[String.locale]||e.i18n.languages.default,this.emitter=e.i18n.parser.emitter};t.prototype={constructor:t,simpleParse:function(e,t){return e.replace(/\$(\d+)/g,(function(e,n){var o=parseInt(n,10)-1;return void 0!==t[o]?t[o]:"$"+n}))},parse:function(t,n){return t.indexOf("{{")<0?this.simpleParse(t,n):(this.emitter.language=e.i18n.languages[e.i18n().locale]||e.i18n.languages.default,this.emitter.emit(this.ast(t),n))},ast:function(e){var t,n,o,i,a,s,r,d,l,u,c,f,m,h,g,p,v,w,b,y=0;function k(e){return function(){var t,n;for(t=0;t1?["CONCAT"].concat(e):e[0]}function L(){var e=C([f,n,E]);return null===e?null:[e[0],e[2]]}function T(){var e=C([f,n,p]);return null===e?null:[e[0],e[2]]}function I(){var e=C([m,c,h]);return null===e?null:e[1]}if(t=S("|"),n=S(":"),o=S("\\"),i=x(/^./),a=S("$"),s=x(/^\d+/),r=x(/^[^{}[\]$\\]/),d=x(/^[^{}[\]$\\|]/),k([_,x(/^[^{}[\]$\s]/)]),l=k([_,d]),u=k([_,r]),w=x(/^[ !"$&'()*,./0-9;=?@A-Z^_`a-z~\x80-\xFF+-]+/),b=function(e){return e.toString()},f=function(){var e=w();return null===e?null:b(e)},c=k([function(){var e=C([k([L,T]),$(0,B)]);return null===e?null:e[0].concat(e[1])},function(){var e=C([f,$(0,B)]);return null===e?null:[e[0]].concat(e[1])}]),m=S("{{"),h=S("}}"),g=k([I,E,function(){var e=$(1,u)();return null===e?null:e.join("")}]),p=k([I,E,function(){var e=$(1,l)();return null===e?null:e.join("")}]),null===(v=function(){var e=$(0,g)();return null===e?null:["CONCAT"].concat(e)}())||y!==e.length)throw new Error("Parse error at position "+y.toString()+" in input: "+e);return v}},e.extend(e.i18n.parser,new t)}(jQuery)},51399:()=>{!function(e){"use strict";var t=function(){this.messages={},this.sources={}};t.prototype={load:function(t,n){var o,i,a=null,s=[],r=this;if("string"==typeof t)return e.i18n.log("Loading messages from: "+t),(o=t,i=e.Deferred(),e.getJSON(o).done(i.resolve).fail((function(t,n,a){e.i18n.log("Error in loading messages from "+o+" Exception: "+a),i.resolve()})),i.promise()).done((function(e){r.set(n,e)})).promise();if(n)return r.set(n,t),e.Deferred().resolve();for(a in t)Object.prototype.hasOwnProperty.call(t,a)&&(n=a,s.push(r.load(t[a],n)));return e.when.apply(e,s)},set:function(t,n){this.messages[t]?this.messages[t]=e.extend(this.messages[t],n):this.messages[t]=n},get:function(e,t){return this.messages[e]&&this.messages[e][t]}},e.extend(e.i18n.messageStore,new t)}(jQuery)},52329:()=>{!function(e){"use strict";var t,n,o,i=Array.prototype.slice;(t=function(n){this.options=e.extend({},t.defaults,n),this.parser=this.options.parser,this.locale=this.options.locale,this.messageStore=this.options.messageStore,this.languages={}}).prototype={localize:function(t){var n,o,i,a,s,r;for(i=this.locale,a=0;i;){o=(n=i.split("-")).length;do{if(s=n.slice(0,o).join("-"),r=this.messageStore.get(s,t))return r;o--}while(o);if("en"===i)break;i=e.i18n.fallbacks[this.locale]&&e.i18n.fallbacks[this.locale][a]||this.options.fallbackLocale,e.i18n.log("Trying fallback locale for "+this.locale+": "+i+" ("+t+")"),a++}return""},destroy:function(){e.removeData(document,"i18n")},load:function(t,n){var o,i,a,s={};if(t||n||(t="i18n/"+e.i18n().locale+".json",n=e.i18n().locale),"string"==typeof t&&"json"!==t.split("?")[0].split(".").pop()){for(s[n]=t+"/"+n+".json",o=(e.i18n.fallbacks[n]||[]).concat(this.options.fallbackLocale),i=0;i{!function(e){e.idleTimer=function(t,n,o){o=e.extend({startImmediately:!0,idle:!1,enabled:!0,timeout:3e4,events:"mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove"},o),n=n||document;var i=function(t){"number"==typeof t&&(t=void 0);var a=e.data(t||n,"idleTimerObj");a.idle=!a.idle;var s=+new Date-a.olddate;if(a.olddate=+new Date,a.idle&&s{"use strict";function o(){return!!document.querySelector("body.pretext")}function i(e,t,n,i){var a=window.location.pathname;-1!==a.indexOf("?")&&(a=a.substring(0,a.lastIndexOf("?")));let s=o();var r={lastPageUrl:a,lastPageScrollLocation:Math.round($(window).scrollTop()),completionFlag:e,pageLoad:t,markingComplete:n,markingIncomplete:i,course:eBookConfig.course,isPtxBook:s};$(document).ajaxError((function(e,t,n,o){console.log("Request Failed for "+n.url),console.log(e)})),jQuery.ajax({url:`${eBookConfig.new_server_prefix}/logger/updatelastpage`,contentType:"application/json; charset=utf-8",dataType:"json",data:JSON.stringify(r),method:"POST",async:!0})}n.d(t,{w:()=>p}),n(67375),n(66495),n(52329),n(39161),n(46905),n(23836),n(51399),n(49276),n(35773),n(52754),n(3403),n(83057),$(document).on("runestone:login",(function(){var e;!function(){if(!window.location.href.match(/(\/index.html|toctree.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html)/)){var e=window.location.pathname;-1!==e.indexOf("?")&&(e=e.substring(0,e.lastIndexOf("?")));var t={lastPageUrl:e,isPtxBook:o()};jQuery.ajax({url:`${eBookConfig.new_server_prefix}/logger/getCompletionStatus`,data:t,async:!1}).done((function(e){if("None"!=e){var t,n;1==e.detail[0].completionStatus?(t="buttonConfirmCompletion",n=" Completed. Well Done!"):(t="buttonAskCompletion",n="Mark as Completed");let o=document.querySelector("#scprogresscontainer");o&&o.classList.add("ptx-runestone-container"),$("#scprogresscontainer").append('
    ")}}))}}(),void 0!==(e=$.getUrlVar("lastPosition"))&&($("body").append(''),$("html, body").animate({scrollTop:parseInt(e)},1e3)),function(){if(!window.location.href.match(/(index.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html|toctree.html)/)){var e,t=-$("#navLinkBgRight").outerWidth()-5;$("#completionButton").hasClass("buttonAskCompletion")?e=t+70:$("#completionButton").hasClass("buttonConfirmCompletion")&&(e=0);var n=$("#relations-next").css("right"),o=-(t+35);$("#navLinkBgRight").css("right",t).show();var a=!1;$(window).scroll((function(){$(window).scrollTop()+$(window).height()==$(document).height()?($("#navLinkBgRight").animate({right:e},200),$("#navLinkBgLeft").animate({left:"0px"},200),$("#completionButton").hasClass("buttonConfirmCompletion")&&$("#relations-next").animate({right:o},200),a=!0):a&&($("#navLinkBgRight").animate({right:t},200),$("#navLinkBgLeft").animate({left:"-65px"},200),$("#relations-next").animate({right:n}),a=!1)}));var s=0;i(s=$("#completionButton").hasClass("buttonAskCompletion")?0:1,!0,!1,!1),$("#completionButton").on("click",(function(){var a=!1,r=!1;$(this).hasClass("buttonAskCompletion")?($(this).removeClass("buttonAskCompletion").addClass("buttonConfirmCompletion").html(" Completed. Well Done!"),$("#navLinkBgRight").animate({right:0}),$("#relations-next").animate({right:o}),e=0,s=1,a=!0):$(this).hasClass("buttonConfirmCompletion")&&($(this).removeClass("buttonConfirmCompletion").addClass("buttonAskCompletion").html("Mark as Completed"),e=t+70,$("#navLinkBgRight").animate({right:e}),$("#relations-next").animate({right:n}),s=0,r=!0),i(s,!1,a,r)}))}}(),function(){if(-1!=window.location.href.toLowerCase().indexOf("toc.html")||-1!=window.location.href.toLowerCase().indexOf("index.html")||-1!=window.location.href.toLowerCase().indexOf("frontmatter")){o()||jQuery.get(`${eBookConfig.new_server_prefix}/logger/getAllCompletionStatus`,(function(e){var t;if("None"!=e){t=e.detail;var n=$("#main-content div li a");$.each(t,(function(e,t){for(var o=0;o- Completed this topic on '+t.endDate+"").children().first().hover((function(){$(this).next(".infoTextCompleted").show()}),(function(){$(this).next(".infoTextCompleted").hide()})):0==t.completionStatus&&$(n[o].parentElement).addClass("active").append('Last read this topic on '+t.endDate+"").children().first().hover((function(){$(this).next(".infoTextActive").show()}),(function(){$(this).next(".infoTextActive").hide()})))}))}}));var e={course:eBookConfig.course};jQuery.get(`${eBookConfig.new_server_prefix}/logger/getlastpage`,e,(function(e){var t;"None"!=e&&null!=(t=e.detail).lastPageChapter&&$("#continue-reading").show().html('
    You were Last Reading: '+t.lastPageChapter+(t.lastPageSubchapter?" > "+t.lastPageSubchapter:"")+' Continue Reading
    ')}))}}()})),$.extend({getUrlVars:function(){for(var e,t=[],n=window.location.search.slice(window.location.search.indexOf("?")+1).split("&"),o=0;o{t.addEventListener("click",(function(){let n=t.getAttribute("data-knowl");e.logBookEvent({event:"knowl",act:"click",div_id:n})}))})),document.querySelectorAll("details.born-hidden-knowl").forEach((t=>{t.addEventListener("toggle",(function(){if(t.open){let n=t.id;e.logBookEvent({event:"knowl",act:"open",div_id:n})}}))})),document.querySelectorAll(".sagecell_evalButton").forEach((t=>{t.addEventListener("click",(function(){let n=t.closest(".ptx-sagecell"),o=n?n.querySelector(".sagecell_input"):null,i=(o&&o.textContent,n?n.id:null);i?e.logBookEvent({event:"sage",act:"run",div_id:i}):console.warn("Could not find container or div_id for sagecell button")}))})),"undefined"==typeof eBookConfig||eBookConfig.isInstructor||document.querySelectorAll(".commentary").forEach((e=>{e.style.display="none"}))}();let e=document.getElementById("primary-navbar-sticky-wrapper");e&&(e.style.overflow="visible")})),n(19695);var s=n(98098);class r extends a.A{constructor(){super(),this.initSplice()}initSplice(){window.addEventListener("message",(async e=>{var t,n,o=this.sendingIframe(e);if(console.log(`SpliceWrapper: received message subject: ${e.data.subject} from iframe: ${o?o.id:"unknown"}`),"SPLICE.reportScoreAndState"==e.data.subject)this.handleScoreAndState(e,o);else if("SPLICE.sendEvent"==e.data.subject)this.handleSpliceEvent(e,o);else if("SPLICE.getState"==e.data.subject)await this.handleGetState(e,o);else if("https://www.myopenmath.com"===e.origin&&"string"==typeof e.data&&-1!=e.data.indexOf("lti.ext.imathas.result")){let o=JSON.parse(e.data),i=(t=o.jwt.split(".")[1].replace(/-/g,"+").replace(/_/g,"/"),n=decodeURIComponent(window.atob(t).split("").map((function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)})).join("")),JSON.parse(n));console.log("Result received from frame "+o.frame_id+" with score "+i.score)}}))}getUniqueID(e,t){if(t){let e=t.closest("[data-component]");if(e)return e.id}let n=e.data.activity_id;return n||(t?n=t.src:(n="unknown",console.error("Could not find iframe that sent the SPLICE event"))),n}handleScoreAndState(e,t){console.log("Got SPLICE.reportScoreAndState"),console.log(e.data.activity_id),console.log(e.data.score),console.log(e.data.state);let n=this.getUniqueID(e,t);this.logBookEvent({event:e.data.subject,div_id:n,act:`score: ${e.data.score}`,score:e.data.score,percent:e.data.score,correct:1==e.data.score,answer:JSON.stringify(e.data.state)})}sendingIframe(e){for(const t of document.getElementsByTagName("iframe"))if(t.contentWindow===e.source)return t}async getSavedState(e){try{const t=await fetch("/ns/assessment/results",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({div_id:e,course:eBookConfig.course,event:"SPLICE.getState"})});if(!t.ok)throw new Error(`HTTP error! status: ${t.status}`);return await t.json()}catch(e){return console.error("Error fetching SPLICE state:",e),null}}async handleGetState(e,t){console.log("Got SPLICE.getState"),console.log(e.data.activity_id),console.log(e.data.state);let n=this.getUniqueID(e,t),o=(await this.getSavedState(n)).detail.answer;e.source.postMessage({message_id:e.data.message_id,subject:"SPLICE.getState.response",state:o},"*")}handleSpliceEvent(e,t){console.log("Got SPLICE.sendEvent"),console.log(e.data.activity_id),console.log(e.data.name);let n=this.getUniqueID(e,t);this.logBookEvent({event:e.data.subject,div_id:n,act:e.data.name||"unknown"})}checkLocalStorage(){}setLocalStorage(){}restoreAnswers(){}disableInteraction(){}}const d={activecode:()=>Promise.all([n.e(249),n.e(296),n.e(625),n.e(764),n.e(877)]).then(n.bind(n,73565)),ble:()=>n.e(817).then(n.bind(n,29817)),clickablearea:()=>Promise.all([n.e(529),n.e(198)]).then(n.bind(n,58529)),codelens:()=>Promise.all([n.e(764),n.e(412)]).then(n.bind(n,76412)),datafile:()=>n.e(580).then(n.bind(n,33580)),dragndrop:()=>Promise.all([n.e(759),n.e(621)]).then(n.bind(n,56759)),fillintheblank:()=>Promise.all([n.e(466),n.e(294)]).then(n.bind(n,64466)),groupsub:()=>Promise.all([n.e(28),n.e(616)]).then(n.bind(n,24616)),khanex:()=>n.e(340).then(n.bind(n,28340)),lp_build:()=>Promise.all([n.e(296),n.e(576)]).then(n.bind(n,77576)),matching:()=>Promise.all([n.e(566),n.e(737)]).then(n.bind(n,14566)),multiplechoice:()=>Promise.all([n.e(919),n.e(350)]).then(n.bind(n,9919)),hparsons:()=>Promise.all([n.e(249),n.e(669),n.e(486)]).then(n.bind(n,71182)),parsons:()=>n.e(39).then(n.bind(n,52420)),poll:()=>n.e(168).then(n.bind(n,11168)),quizly:()=>n.e(128).then(n.bind(n,34128)),reveal:()=>n.e(460).then(n.bind(n,67460)),selectquestion:()=>Promise.all([n.e(662),n.e(380)]).then(n.bind(n,10662)),shortanswer:()=>Promise.all([n.e(819),n.e(850)]).then(n.bind(n,48819)),showeval:()=>n.e(824).then(n.bind(n,8824)),simple_sensor:()=>n.e(126).then(n.bind(n,50126)),spreadsheet:()=>Promise.all([n.e(131),n.e(186)]).then(n.bind(n,97186)),tabbedStuff:()=>n.e(442).then(n.bind(n,76442)),timedAssessment:()=>Promise.all([n.e(249),n.e(296),n.e(625),n.e(764),n.e(877),n.e(466),n.e(759),n.e(919),n.e(566),n.e(662),n.e(529),n.e(819),n.e(420),n.e(268)]).then(n.bind(n,46424)),wavedrom:()=>Promise.all([n.e(770),n.e(640)]).then(n.bind(n,45640)),webwork:()=>n.e(680).then(n.bind(n,84680)),youtube:()=>n.e(915).then(n.bind(n,86915)),doenet:()=>Promise.resolve()},l={},u=10,c=[];let f=0;async function m(){if(0===c.length)return;if(Date.now()-fe.component_name)));const t=e.map((async e=>{try{return await d[e.component_name](),console.log(`Runestone component ${e.component_name} has been loaded`),e}catch(t){e.reject(t)}})),n=await Promise.all(t);try{n.forEach((function(e){e&&e.resolve()}))}catch(e){console.error(e)}}let h=new Promise((e=>$(document).on("runestone:pre-login-complete",e)));function g(){const e=new Set($("[data-component]").map(((e,t)=>$(t).attr("data-component"))).get());document.querySelector(".webwork-button")&&e.add("webwork");const t=[...e].map((e=>{let t;console.log(`Loading Runestone component: ${e}`);try{t=(d[e]||(()=>Promise.resolve()))()}catch(t){console.error(`Error loading ${e}:`,t)}return t.error=t=>console.error(`Error in ${e}:`,t),t}));Promise.all([h,...t]).then((function(){document.body.dataset.reactInUse||document.dispatchEvent(new CustomEvent("runestone:login-complete"))}))}async function p(e){if(l[e])return l[e];console.log(`Runestone component ${e} is being queued for import`);const t=function(e){let t=null,n=null;const o=new Promise(((e,o)=>{t=e,n=o})),i={component_name:e,resolve:t,reject:n};return c.push(i),window.setTimeout(m,u+1),o}(e);return l[e]=t,t}h.then((()=>{console.log("Runestone pre-login complete")})),$(document).ready(g);const v=document.currentScript.src;n.p=v.substring(0,v.lastIndexOf("/")+1),new r;const w={};w.runestone_import=p,w.runestone_auto_import=g,w.getSwitch=function(){const e=document.querySelector('.theme-switch input[type="checkbox"]'),t=localStorage.getItem("theme")?localStorage.getItem("theme"):null;t&&(document.documentElement.setAttribute("data-theme",t),"dark"===t&&(e.checked=!0))},w.switchTheme=function(){1==document.getElementById("checkbox").checked?(document.documentElement.setAttribute("data-theme","dark"),localStorage.setItem("theme","dark")):(document.documentElement.setAttribute("data-theme","light"),localStorage.setItem("theme","light"))},w.popupScratchAC=async function(){if(await p("activecode"),!eBookConfig.scratchDiv){window.ACFactory.createScratchActivecode();let e=eBookConfig.scratchDiv;window.componentMap[e]=ACFactory.createActiveCode($(`#${e}`)[0],eBookConfig.acDefaultLanguage),eBookConfig.isLoggedIn&&window.componentMap[e].enableSaveLoad()}setTimeout((()=>{window.ACFactory.toggleScratchActivecode()}),100)},w.renderOneComponent=s.yT,window.componentMap={},window.runestoneComponents=w},78673:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var o=n(83057),i=["parsonsMove","showeval","video","poll","view_toggle","dashboard","selectquestion","codelens","peer","shortanswer"];class a{constructor(e){this.component_ready_promise=new Promise((e=>this._component_ready_resolve_fn=e)),this.optional=!1,void 0===window.allComponents&&(window.allComponents=[]),window.allComponents.push(this),e&&(this.sid=e.sid,this.graderactive=e.graderactive,this.showfeedback=!0,e.timed&&(this.isTimed=!0),e.enforceDeadline&&(this.deadline=e.deadline),this.optional=this.parseBooleanAttribute(e.orig,"data-optional"),e.selector_id&&(this.selector_id=e.selector_id),void 0!==e.assessmentTaken?this.assessmentTaken=e.assessmentTaken:this.assessmentTaken=!0,void 0!==e.timedWrapper?this.timedWrapper=e.timedWrapper:location.href.indexOf("doAssignment")>=0?this.timedWrapper=$("h1#assignment_name").text():this.timedWrapper=null,$(e.orig).data("question_label")&&(this.question_label=$(e.orig).data("question_label")),this.is_toggle=e.is_toggle,this.is_select=e.is_select),this.mjelements=[];let t=this;if(this.mjReady=new Promise((function(e,n){t.mjresolver=e})),this.aQueue=new r,e&&void 0!==e.preamble){this.preamble=e.preamble;let t=document.createElement("div");t.classList.add("hidden-content"),t.classList.add("process-math"),t.innerHTML="\\("+this.preamble+"\\)",e.orig.appendChild(t),t.id="ltx_preamble",t.style.display="none",this.aQueue.preamble=t}this.jsonHeaders=new Headers({"Content-type":"application/json; charset=utf-8",Accept:"application/json"})}parseBooleanAttribute(e,t){const n=e.getAttribute(t);if(null===n)return!1;const o=n.toLowerCase();return"false"!==o&&"no"!==o}async logBookEvent(e){if(this.graderactive)return;let t;if(e.course_name=eBookConfig.course,e.clientLoginStatus=eBookConfig.isLoggedIn,e.timezoneoffset=(new Date).getTimezoneOffset()/60,this.selector_id&&(e.selector_id=this.selector_id),"number"==typeof this.percent&&(e.percent=this.percent),window.assignmentId&&(e.assignment_id=window.assignmentId),eBookConfig.isLoggedIn&&eBookConfig.useRunestoneServices&&eBookConfig.logLevel>0&&(t=this.postLogMessage(e)),!this.isTimed||eBookConfig.debug){let t=eBookConfig.isLoggedIn?"Save":"Not";console.log(`${t} logging event `+JSON.stringify(e))}return this.selector_id&&(e.div_id=this.selector_id.replace("-toggleSelectedQuestion",""),e.event="selectquestion",e.act="interaction",this.postLogMessage(e)),"function"==typeof o.X.updateProgress&&"edit"!=e.act&&0==this.optional&&o.X.updateProgress(e.div_id),-1===i.indexOf(e.event)&&this.decorateStatus(),t}async postLogMessage(e){var t;let n=new Request(`${eBookConfig.new_server_prefix}/logger/bookevent`,{method:"POST",headers:this.jsonHeaders,body:JSON.stringify(e)});try{var o=await fetch(n);if(!o.ok){if(422===o.status)throw t=await o.json(),console.log(JSON.stringify(t.detail,null,4)),new Error("Unprocessable Request");if(401==o.status)throw t=await o.json(),console.log(`Missing authentication token ${t.detail}`),new Error("Missing authentication token");throw new Error(`Failed to save the log entry\n Status: ${o.status}`)}let e=(t=await o.json()).detail,i=null;if(this.selector_id){let e=this.selector_id.replace("-toggleSelectedQuestion","");i=document.getElementById(`${e}_score`)}else i=document.getElementById(`${this.divid}_score`);i&&!this.isTimed&&e.score&&this.updateScores(i,e)}catch(e){let n="none";t&&t.detail&&(n=t.detail),eBookConfig.useRunestoneServices&&alert(`Error: Your action was not saved!\n The error was ${e}\n Status Code: ${o.status}\n Detail: ${JSON.stringify(n,null,4)}.\n Please report this error!`),console.log(`Error: ${e} Detail: ${n} Status Code: ${o.status}`)}return t}updateScores(e,t){if(!t.assigned||null===t.score)return void(document.getElementById(`${this.divid}_message`).innerHTML="Score not updated. Submissions are closed.");let n=e.getElementsByClassName("qscore")[0];n&&(n.innerHTML=t.score.toFixed(1));let o=document.getElementsByClassName("qscore"),i=document.getElementsByClassName("qmaxscore"),a=0,s=0;for(let e=0;e0){let n=new Request(`${eBookConfig.new_server_prefix}/logger/runlog`,{method:"POST",headers:this.jsonHeaders,body:JSON.stringify(e)}),o=await fetch(n);o.ok?t=await o.json():(t=await o.json(),eBookConfig.useRunestoneServices?alert(`Failed to save your code\n Status is ${o.status}\n Detail: ${JSON.stringify(t.detail,null,4)}`):console.log(`Did not save the code.\n Status: ${o.status}\n Detail: ${JSON.stringify(t.detail,null,4)}`))}return this.isTimed&&!eBookConfig.debug||console.log("running "+JSON.stringify(e)),"function"==typeof o.X.updateProgress&&0==this.optional&&o.X.updateProgress(e.div_id),t}}async checkServer(e,t=!1){let n=this;if(this.checkServerComplete=new Promise((function(e,t){n.csresolver=e})),eBookConfig.isLoggedIn&&(this.useRunestoneServices||this.graderactive)){let t={};if(t.div_id=this.divid,t.course=eBookConfig.course,t.event=e,this.graderactive&&this.deadline&&(t.deadline=this.deadline,t.rawdeadline=this.rawdeadline,t.tzoff=this.tzoff),this.sid&&(t.sid=this.sid),t.div_id&&t.course&&t.event||console.log(`A required field is missing data ${t.div_id}:${t.course}:${t.event}`),eBookConfig.practice_mode||eBookConfig.peer||!this.assessmentTaken)this.loadData({}),console.log("resolving checkServer no answer given"),this.csresolver("not taken");else{let e=new Request(`${eBookConfig.new_server_prefix}/assessment/results`,{method:"POST",body:JSON.stringify(t),headers:this.jsonHeaders});try{let n=await fetch(e);console.log(`Response from server: ${n.status}`),n.ok?(t=await n.json(),t=t.detail,console.log(`Data from server: ${JSON.stringify(t)} calling repopulateFromStorage`),this.repopulateFromStorage(t),this.attempted=!0,void 0!==t.correct?this.correct=t.correct:this.correct=null,console.log("resolving checkServer with server data"),this.csresolver("server")):(console.log(`HTTP Error getting results: ${n.statusText}`),this.checkLocalStorage(),console.log("resolving checkServer with local data"),this.csresolver("local"))}catch(e){console.log(`Error getting results: ${e}`);try{this.checkLocalStorage()}catch(e){console.log(e)}}}}else this.checkLocalStorage(),console.log("resolving checkServer with local data"),this.csresolver("local");t&&this.indicate_component_ready()}indicate_component_ready(){this.containerDiv.classList.add("runestone-component-ready"),this._component_ready_resolve_fn()}loadData(e){return null}repopulateFromStorage(e){null!==e&&"no data"!==e&&this.shouldUseServer(e)?(this.restoreAnswers(e),this.setLocalStorage(e)):this.checkLocalStorage(),this.decorateStatus()}shouldUseServer(e){if("T"===e.correct||!0===e.correct||0===localStorage.length||!0===this.graderactive||this.isTimed)return!0;let t,n=localStorage.getItem(this.localStorageKey());if(null===n)return!0;try{t=JSON.parse(n)}catch(e){return console.log(e.message),localStorage.removeItem(this.localStorageKey()),!0}if(e.answer==t.answer)return!0;let o=new Date(t.timestamp);return new Date(e.timestamp)>=o}localStorageKey(){return eBookConfig.email+":"+eBookConfig.course+":"+this.divid+"-given"}addCaption(e){if(!this.isTimed){var t=document.createElement("p");this.question_label?(this.caption=eBookConfig.useRunestoneServices?`Activity: ${this.question_label} ${this.caption} (${this.divid})`:`Activity: ${this.question_label} ${this.caption}`,$(t).html(this.caption),$(t).addClass(`${e}_caption`)):($(t).html(eBookConfig.useRunestoneServices?this.caption+" ("+this.divid+")":this.caption),$(t).addClass(`${e}_caption`),$(t).addClass(`${e}_caption_text`)),this.capDiv=t,this.containerDiv.appendChild(t)}}hasUserActivity(){return this.isAnswered}checkCurrentAnswer(){console.log("Each component should provide an implementation of checkCurrentAnswer")}async logCurrentAnswer(){console.log("Each component should provide an implementation of logCurrentAnswer")}renderFeedback(){console.log("Each component should provide an implementation of renderFeedback")}disableInteraction(){console.log("Each component should provide an implementation of disableInteraction")}toString(){return`${this.constructor.name}: ${this.divid}`}queueMathJax(e){return"undefined"==typeof MathJax?(console.log("Error -- MathJax is not loaded"),Promise.resolve(null)):MathJax.typesetPromise?void 0!==window.runestoneMathReady?window.runestoneMathReady.then((()=>this.mjresolver(this.aQueue.enqueue(e)))):this.mjresolver(this.aQueue.enqueue(e)):(console.log(`Waiting on MathJax!! ${MathJax.typesetPromise}`),setTimeout((()=>this.queueMathJax(e)),200),console.log(`Returning mjready promise: ${this.mjReady}`),this.mjReady)}decorateStatus(){if(this.isTimed||eBookConfig.peer)return;let e=$(this.containerDiv).closest("div.runestone")[0];e&&(e.classList.remove("notAnswered"),e.classList.remove("isInCorrect"),e.classList.remove("isCorrect"),this.correct?e.classList.add("isCorrect"):null===this.correct||void 0===this.correct?e.classList.add("notAnswered"):e.classList.add("isInCorrect"))}}class s{constructor(){this._items=[]}enqueue(e){this._items.push(e)}dequeue(){return this._items.shift()}get size(){return this._items.length}}class r extends s{constructor(){super(),this._pendingPromise=!1}enqueue(e){return new Promise(((t,n)=>{super.enqueue({component:e,resolve:t,reject:n}),this.dequeue()}))}async dequeue(){if(this._pendingPromise)return!1;let e=super.dequeue();if(!e)return!1;let t=this;try{this._pendingPromise=!0;let n=await window.runestoneMathReady.then((async function(){if(console.log(`MathJax Ready -- dequeing a typesetting run for ${e.component.id} ${t.preamble?.innerHTML}`),t.preamble){await MathJax.typesetPromise([t.preamble]);let n=document.createElement("div");return n.innerHTML=t.preamble.innerHTML,e.component.insertAdjacentElement("afterbegin",n),console.log(`MathJax typeset the preamble for ${e.component.id}`),await MathJax.typesetPromise([e.component])}return await MathJax.typesetPromise([e.component])}));this._pendingPromise=!1,e.resolve(n)}catch(t){this._pendingPromise=!1,e.reject(t)}finally{this.dequeue()}return!0}}window.RunestoneBase=a},83057:(e,t,n)=>{"use strict";n.d(t,{X:()=>i,u:()=>a});class o{constructor(e){if(this.possible=0,this.total=1,e&&"assignment_spec"in e&&(this.assignment_spec=e.assignment_spec,delete e.assignment_spec),e&&Object.keys(e).length>0)this.activities=e;else{let e={page:0};document.querySelectorAll(".runestone").forEach((function(t){e[t.firstElementChild.id]=0})),this.activities=e}if(this.calculateProgress(),window.location.pathname.match(/.*\/(index.html|toctree.html|Exercises.html|search.html)$/i)){const e=document.getElementById("scprogresscontainer");e&&(e.style.display="none")}this.renderProgress()}calculateProgress(){for(let e in this.activities)void 0!==e&&(this.possible++,this.activities[e]>0&&this.total++)}renderProgress(){let e=0;const t=document.getElementById("scprogresstotal");t&&(t.textContent=this.total);const n=document.getElementById("scprogressposs");n&&(n.textContent=this.possible);try{e=100*this.total/this.possible}catch(t){e=0}let o=document.getElementById("subchapterprogress");if(o&&"PROGRESS"!==o.tagName){const t=document.createElement("progress");t.id="subchapterprogress",t.max=100,t.value=e,t.className=o.className,o.replaceWith(t),o=t}else o&&(o.max=100,o.value=e);if(this.assignment_spec&&this.total-1>=(this.assignment_spec.activities_required||0)&&this.sendCompletedReadingScore().then((()=>{console.log("Reading score sent for page"),setTimeout((()=>{let e=document.getElementById("completionButton");e&&"mark as completed"===e.textContent.toLowerCase()&&e.click()}),500)})),!eBookConfig.isLoggedIn){const e=document.getElementById("subchapterprogress");e&&e.classList.add("loggedout")}}updateProgress(e){if(this.activities[e]++,1===this.activities[e]){this.total++;let e=100*this.total/this.possible;const t=document.getElementById("scprogresstotal");t&&(t.textContent=this.total);const n=document.getElementById("scprogressposs");n&&(n.textContent=this.possible);let o=document.getElementById("subchapterprogress");if(o&&"PROGRESS"===o.tagName&&(o.value=e),this.assignment_spec&&null!==this.assignment_spec.activities_required&&this.total>=this.assignment_spec.activities_required&&(console.log("Required activities completed"),this.sendCompletedReadingScore().then((()=>{console.log("Reading score sent")}))),100==e&&function(){const e=document.getElementById("completionButton");return e&&e.textContent&&"mark as completed"===e.textContent.toLowerCase()}()){const e=document.getElementById("completionButton");e&&"function"==typeof e.click&&e.click()}}}async sendCompletedReadingScore(){let e=new Headers({"Content-type":"application/json; charset=utf-8",Accept:"application/json"}),t={...this.assignment_spec},n=new Request(`${eBookConfig.new_server_prefix}/logger/update_reading_score`,{method:"POST",body:JSON.stringify(t),headers:e});try{let e=await fetch(n);e.ok||console.error(`Failed to send reading score! ${e.statusText}`),t=await e.json()}catch(e){console.error(`Error sending reading score ${e}`)}}}var i={};function a(e){return"string"==typeof e&&([/\$\$[\s\S]+?\$\$/,/\$[^$\n]+?\$/,/\\\[[\s\S]+?\\\]/,/\\\([\s\S]+?\\\)/].some((t=>t.test(e)))||/\\(frac|sqrt|sum|prod|int|lim|sin|cos|tan|log|ln|alpha|beta|gamma|pi|theta|sigma|Delta|cdot|times|leq|geq|neq)\b/.test(e)||/[a-zA-Z0-9]\s*[\^_]\s*\{?.+?\}?/.test(e))}document.addEventListener("runestone:login",(function(){const e=document.getElementById("profilelink");e&&e.style.removeProperty("display");const t=document.getElementById("passwordlink");t&&t.style.removeProperty("display");const n=document.getElementById("registerlink");n&&(n.style.display="none"),document.querySelectorAll("li.loginout").forEach((e=>{e.innerHTML='Log Out'}))})),document.addEventListener("runestone:logout",(function(){if(eBookConfig.useRunestoneServices){console.log("setup navbar for logged out");const e=document.getElementById("registerlink");e&&e.style.removeProperty("display");const t=document.getElementById("profilelink");t&&(t.style.display="none");const n=document.getElementById("passwordlink");n&&(n.style.display="none");const o=document.getElementById("ip_dropdown_link");o&&(o.style.display="none");const i=document.getElementById("inst_peer_link");i&&(i.style.display="none"),document.querySelectorAll("li.loginout").forEach((e=>{e.innerHTML='Login'})),document.querySelectorAll(".footer").forEach((e=>{e.innerHTML="user not logged in"}))}})),document.addEventListener("DOMContentLoaded",(function(){eBookConfig?(async function(){var e;if(eBookConfig.useRunestoneServices){let e=new Headers({"Content-type":"application/json; charset=utf-8",Accept:"application/json"}),n={timezoneoffset:(new Date).getTimezoneOffset()/60,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone},o=function(){const e=`; ${document.cookie}`.split("; RS_info=");if(2===e.length)return e.pop().split(";").shift()}();var t=!1;if(o)try{let e=o.replace(/\\054/g,","),i=JSON.parse(decodeURIComponent(e));i=JSON.parse(decodeURIComponent(i)),i.timezone===n.timezone&&i.tz_offset===n.timezoneoffset&&(console.log("Timezone cookie matches, not sending timezone to server"),t=!0)}catch(e){console.error("Error parsing RS_info cookie, sending timezone to server")}if(!1===t){let t=new Request(`${eBookConfig.new_server_prefix}/logger/set_tz_offset`,{method:"POST",body:JSON.stringify(n),headers:e});try{let e=await fetch(t);e.ok||console.error(`Failed to set timezone! ${e.statusText}`),n=await e.json()}catch(e){console.error(`Error setting timezone ${e}`)}}}if(console.log(`This page served by ${eBookConfig.served_by}`),eBookConfig.isLoggedIn){if(e=`username: ${eBookConfig.username}`,!eBookConfig.isInstructor){const e=document.getElementById("ip_dropdown_link");e&&"function"==typeof e.remove&&e.remove();const t=document.getElementById("inst_peer_link");t&&"function"==typeof t.remove&&t.remove()}document.dispatchEvent(new Event("runestone:login")),function(){let e=localStorage.getItem("currentAssignmentInfo");if(e&&eBookConfig.readings){var t,n,o,i,a,s,r,d,l,u;let m=JSON.parse(e),h=m.id,g=m.name,p=m.readingNames;(o=document.createElement("div")).textContent="Active assignment: ",(i=document.createElement("a")).textContent=g,i.href=`/assignment/student/doAssignment?assignment_id=${h}`,o.append(i),(a=document.createElement("a")).textContent="Exit Assignment",a.href=window.location.pathname,a.addEventListener("click",(function(e){localStorage.removeItem("currentAssignmentInfo")}));let v=window.location.pathname.split("/"),w=v[v.length-2]+"/"+v[v.length-1],b=!1,y=2;document.getElementsByTagName("body")[0].classList.contains("pretext")&&(b=!0,eBookConfig.readings=eBookConfig.readings.map((e=>e.split("/").pop())),w=w.split("/").pop(),y=1);let k=eBookConfig.readings.indexOf(w),C=eBookConfig.readings.length;if(k>0){d=eBookConfig.readings[k-1],(l=v.slice(0,v.length-y)).push(d),u=l.join("/"),s=o.cloneNode(!0);let e=document.createElement("p");e.textContent=`Page ${k+1} of ${C}, `;var c=document.createElement("a");c.href=u,c.textContent=`Back to page ${k} of ${C}: ${p[k-1]}.`,e.append(c),s.append(e)}else if(0==k){s=o.cloneNode(!0);let e=document.createElement("p");e.textContent=`Page 1 of ${C}.`,s.append(e)}else{d=eBookConfig.readings[0],(l=v.slice(0,v.length-y)).push(d),u=l.join("/"),s=o.cloneNode(!0);let e=document.createElement("p");e.textContent="Notice: this page is not part of the assignment. To remove this warning click ",e.append(a),s.append(e)}if(k==eBookConfig.readings.length-1){r=o;let e=document.createElement("p");e.textContent=`Page ${C} of ${C}: ${p[k]}`,r.append(e)}else if(k>=0){d=eBookConfig.readings[k+1],(l=v.slice(0,v.length-y)).push(d),u=l.join("/"),r=o;var f=document.createElement("a");f.href=u,f.textContent=`Continue to page ${k+2} of ${C}: ${p[k+1]}`;let e=document.createElement("p");e.append(f),r.append(e)}else{r=o.cloneNode(!0);let e=document.createElement("p");e.textContent="Notice: this page is not part of the assignment. To remove this warning click ";let t=a.cloneNode(!0);t.addEventListener("click",(function(e){localStorage.removeItem("currentAssignmentInfo")})),e.append(t),r.append(e)}if((t=document.createElement("div")).className="ptx-runestone-container",s.className="runestone assignment-nav top-assignment-nav",t.append(s),(n=document.createElement("div")).className="ptx-runestone-container",r.className="runestone assignment-nav bottom-assignment-nav",n.append(r),b){let e=document.getElementById("ptx-content");e&&e.insertBefore(t,e.firstChild);let o=document.getElementById("scprogresscontainer");return void(o&&(o.style.marginBottom="20px",o.appendChild(n)))}const $=document.getElementById("main-content");$&&r&&($.insertBefore(t,$.firstChild),$.appendChild(n))}}(),-1==window.location.pathname.indexOf("/admin/grading")&&-1==window.location.pathname.indexOf("/peer/")&&function(){let e;function t(){location.href.indexOf("index.html")<0&&(console.log("Idle timer - "+location.pathname),location.href=eBookConfig.app+"/default/user/login?_next="+location.pathname+location.search)}function n(){e&&clearTimeout(e),e=setTimeout(t,9e5)}["mousemove","keydown","scroll","click","touchstart","wheel"].forEach((e=>{window.addEventListener(e,n,{passive:!0})})),n()}()}else{e="Not logged in",document.dispatchEvent(new Event("runestone:logout"));let t=document.getElementById("browsing_warning");t&&(t.innerHTML="");let n=document.getElementById("ad_warning");n&&(n.innerHTML="")}document.querySelectorAll(".loggedinuser").forEach((t=>{t.innerHTML=e})),i=new o(eBookConfig.activities),console.log("triggering runestone:pre-login-complete"),document.dispatchEvent(new Event("runestone:pre-login-complete"))}(),function(){if("undefined"!=typeof showAd&&showAd){let e=Math.floor(2*Math.random())+1,t=document.getElementById(`adcopy_${e}`),n=document.querySelectorAll(".runestone");n.length>0&&(n[Math.floor(Math.random()*n.length)].after(t),t.style.display="block")}}()):"undefined"==typeof eBookConfig&&console.log("eBookConfig is not defined. This page must not be set up for Runestone")})),window.addEventListener("load",(function(){if(document.querySelectorAll(".video-play-overlay").forEach((function(e){e.style.backgroundImage="url('{{pathto('_static/play_overlay_icon.png', 1)}}')"})),document.querySelectorAll(".dropdown input, .dropdown label").forEach((function(e){e.addEventListener("click",(function(e){e.stopPropagation()}))})),location.href.includes("mode=browsing")){let e="?mode=browsing";document.querySelectorAll("a").forEach((t=>{let n="";if(t.href.includes("books/published")&&!t.href.includes("?mode=browsing")){if(t.href.includes("#")){let e=t.href.indexOf("#");n=t.href.substring(e),t.href=t.href.substring(0,e)}t.href=t.href.includes("?")?t.href+e.replace("?","&")+n:t.href+e+n}}))}}))},98098:(e,t,n)=>{"use strict";n.d(t,{$y:()=>a,JK:()=>i,yT:()=>s});var o=n(77394);async function i(e,t,n){if(!e)return void jQuery(`#${t}`).html("

    Sorry, no source is available for preview.

    ");e=e.replace(/..\/_images/g,`${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`),jQuery(`#${t}`).html(e),void 0===window.componentMap&&(window.componentMap={});let i=$($(`#${t} [data-component]`)[0]).data("component");await(0,o.w)(i);let a={};if(a.orig=jQuery(`#${t} [data-component]`)[0],a.orig&&(a.lang=$(a.orig).data("lang"),a.useRunestoneServices=!0,a.graderactive=!1,a.python3=!0,void 0!==n))for(let e in n)a[e]=n[e];if("undefined"==typeof component_factory)alert("Error: Missing the component factory!");else if(window.component_factory[i]||jQuery(`#${t}`).html()){let e=window.component_factory[i](a);"activecode"===i&&(n.multiGrader?window.componentMap[`${n.gradingContainer} ${e.divid}`]=e:window.componentMap[e.divid]=e)}else jQuery(`#${t}`).html(`

    Preview not available for ${i}

    `)}function a(e,t){e=e.replace(/..\/_images/g,`${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`);let n,o,i=$($(e).find("[data-component]")[0]).data("component"),a=$(e).find("[data-component]").first().attr("id");document.getElementById(a)||(n=$("
    ",{css:{display:"none"}}).appendTo("body"),n.html(e));let s={orig:document.getElementById(a),timed:!0};if(void 0!==t)for(let e in t)s[e]=t[e];i in window.component_factory&&(o=window.component_factory[i](s));let r={};return r.question=o,r}async function s(e){let t=e.querySelector("[data-component]");if(null==t)return void console.log("Render was called for a component, but now [data-component] attribute is present. This may mean the component has already been rendered.");let n=t.dataset.component;if(await(0,o.w)(n),0==$(this).closest("[data-component=timedAssessment]").length)try{let e=t.id;window.componentMap[e]=window.component_factory[n]({orig:t,useRunestoneServices:eBookConfig.useRunestoneServices})}catch(e){console.log(`Error rendering ${n} Problem ${this.id}\n Details: ${e}`)}}}},e=>{e.O(0,[723],(()=>e(e.s=77394))),e.O()}]); +//# sourceMappingURL=prefix-runestone.1c010553c35c544c.bundle.js.map \ No newline at end of file diff --git a/course/_static/prefix-runestone.c2757fc695bc848c.bundle.js.LICENSE.txt b/course/_static/prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt similarity index 100% rename from course/_static/prefix-runestone.c2757fc695bc848c.bundle.js.LICENSE.txt rename to course/_static/prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt diff --git a/course/_static/prefix-runestone.c2757fc695bc848c.bundle.js.LICENSE.txt.gz b/course/_static/prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt.gz similarity index 100% rename from course/_static/prefix-runestone.c2757fc695bc848c.bundle.js.LICENSE.txt.gz rename to course/_static/prefix-runestone.1c010553c35c544c.bundle.js.LICENSE.txt.gz diff --git a/course/_static/prefix-runestone.1c010553c35c544c.bundle.js.gz b/course/_static/prefix-runestone.1c010553c35c544c.bundle.js.gz new file mode 100755 index 0000000..f1bf6dc Binary files /dev/null and b/course/_static/prefix-runestone.1c010553c35c544c.bundle.js.gz differ diff --git a/course/_static/prefix-runestone.1c010553c35c544c.bundle.js.map b/course/_static/prefix-runestone.1c010553c35c544c.bundle.js.map new file mode 100755 index 0000000..42fb9b2 --- /dev/null +++ b/course/_static/prefix-runestone.1c010553c35c544c.bundle.js.map @@ -0,0 +1 @@ +{"version":3,"file":"prefix-runestone.1c010553c35c544c.bundle.js","mappings":"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","sources":["webpack://WebComponents/./runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-sphinx.js","webpack://WebComponents/./runestone/common/js/presenter_mode.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.fallbacks.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.language.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.emitter.bidi.js","webpack://WebComponents/external var \"jQuery\"","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.emitter.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.parser.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.messagestore.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.js","webpack://WebComponents/./runestone/common/js/jquery.idle-timer.js","webpack://WebComponents/./runestone/common/js/user-highlights.js","webpack://WebComponents/./runestone/common/js/pretext.js","webpack://WebComponents/./runestone/splice/js/spliceWrapper.js","webpack://WebComponents/./webpack.index.js","webpack://WebComponents/./runestone/common/js/theme.js","webpack://WebComponents/./runestone/common/js/runestonebase.js","webpack://WebComponents/./runestone/common/js/bookfuncs.js","webpack://WebComponents/./runestone/common/js/renderComponent.js"],"sourcesContent":["(function ($) {\n /**\n * Patch TOC list.\n *\n * Will mutate the underlying span to have a correct ul for nav.\n *\n * @param $span: Span containing nested UL's to mutate.\n * @param minLevel: Starting level for nested lists. (1: global, 2: local).\n */\n var patchToc = function ($ul, minLevel) {\n var findA,\n patchTables,\n $localLi;\n\n // Find all a \"internal\" tags, traversing recursively.\n findA = function ($elem, level) {\n level = level || 0;\n var $items = $elem.find(\"> li > a.internal, > ul, > li > ul\");\n\n // Iterate everything in order.\n $items.each(function (index, item) {\n var $item = $(item),\n tag = item.tagName.toLowerCase(),\n $childrenLi = $item.children('li'),\n $parentLi = $($item.parent('li'), $item.parent().parent('li'));\n\n // Add dropdowns if more children and above minimum level.\n if (tag === 'ul' && level >= minLevel && $childrenLi.length > 0) {\n $parentLi\n .addClass('dropdown-submenu')\n .children('a').first().attr('tabindex', -1);\n\n $item.addClass('dropdown-menu');\n }\n\n findA($item, level + 1);\n });\n };\n\n findA($ul);\n };\n\n /**\n * Patch all tables to remove ``docutils`` class and add Bootstrap base\n * ``table`` class.\n */\n patchTables = function () {\n $(\"table.docutils\")\n .removeClass(\"docutils\")\n .addClass(\"table\")\n .attr(\"border\", 0);\n };\n\n$(function () {\n\n /*\n * Scroll the window to avoid the topnav bar\n * https://github.com/twitter/bootstrap/issues/1768\n */\n if ($(\"#navbar.navbar-fixed-top\").length > 0) {\n var navHeight = $(\"#navbar\").height(),\n shiftWindow = function() { scrollBy(0, -navHeight - 10); };\n\n if (location.hash) {\n shiftWindow();\n }\n\n window.addEventListener(\"hashchange\", shiftWindow);\n }\n\n // Add styling, structure to TOC's.\n $(\".dropdown-menu\").each(function () {\n $(this).find(\"ul\").each(function (index, item){\n var $item = $(item);\n $item.addClass('unstyled');\n });\n });\n\n // Global TOC.\n if ($(\"ul.globaltoc li\").length) {\n patchToc($(\"ul.globaltoc\"), 1);\n } else {\n // Remove Global TOC.\n $(\".globaltoc-container\").remove();\n }\n\n // Local TOC.\n patchToc($(\"ul.localtoc\"), 2);\n\n // Mutate sub-lists (for bs-2.3.0).\n $(\".dropdown-menu ul\").not(\".dropdown-menu\").each(function () {\n var $ul = $(this),\n $parent = $ul.parent(),\n tag = $parent[0].tagName.toLowerCase(),\n $kids = $ul.children().detach();\n\n // Replace list with items if submenu header.\n if (tag === \"ul\") {\n $ul.replaceWith($kids);\n } else if (tag === \"li\") {\n // Insert into previous list.\n $parent.after($kids);\n $ul.remove();\n }\n });\n\n // Add divider in page TOC.\n $localLi = $(\"ul.localtoc li\");\n if ($localLi.length > 2) {\n $localLi.first().after('
  • ');\n }\n\n // Enable dropdown.\n $('.dropdown-toggle').dropdown();\n\n // Patch tables.\n patchTables();\n\n // Add Note, Warning styles.\n $('div.note').addClass('alert').addClass('alert-info');\n $('div.warning').addClass('alert').addClass('alert-warning');\n\n // Inline code styles to Bootstrap style.\n $('tt.docutils.literal').not(\".xref\").each(function (i, e) {\n // ignore references\n if (!$(e).parent().hasClass(\"reference\")) {\n $(e).replaceWith(function () {\n return $(\"\").text($(this).text());\n });\n }});\n });\n}(window.jQuery));\n","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 // presenter_mode.css is loaded by webpack\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.less\";\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('
    ');\n codeExercises = $(\".runestone\").not(\".runestone .runestone\");\n // codeExercises.each(function(){\n $(\"h1\").before(\n \"
    \\\n \\\n \\\n
    \"\n );\n}\nfunction getActiveExercise() {\n return (active = codeExercises.filter(\".active\"));\n}\n\nfunction activateExercise(index) {\n if (typeof index == \"undefined\") {\n index = 0;\n }\n\n let active = getActiveExercise();\n\n if (codeExercises.length) {\n active.removeClass(\"active\");\n active = $(codeExercises[index]).addClass(\"active\");\n active.removeClass(\"hidden\");\n codeExercises.not(codeExercises.filter(\".active\")).addClass(\"hidden\");\n }\n}\n\nwindow.nextExercise = function() {\n let active = getActiveExercise();\n let nextIndex = codeExercises.index(active) + 1;\n if (nextIndex < codeExercises.length) {\n activateExercise(nextIndex);\n }\n}\n\nwindow.prevExercise = function() {\n let active = getActiveExercise();\n let prevIndex = codeExercises.index(active) - 1;\n if (prevIndex >= 0) {\n activateExercise(prevIndex);\n }\n}\n\nfunction configure() {\n let rightNav = $(\".navbar-right\");\n rightNav.prepend(\n \"\"\n );\n\n let modeSelect = $(\".mode-select\").change(presentToggle);\n}\n\nfunction codelensListener(duration) {\n // $(\".ExecutionVisualizer\").length ? configureCodelens() : setTimeout(codelensListener, duration);\n // configureCodelens();\n}\n\nfunction configureCodelens() {\n let acCodeTitle = document.createElement(\"h4\");\n acCodeTitle.textContent = \"Active Code Window\";\n let acCode = $(\".ac_code_div\");\n $(\".ac_code_div\").addClass(\"col-md-6\");\n acCode.prepend(acCodeTitle);\n\n acOutTitle = document.createElement(\"h4\");\n acOutTitle.textContent = \"Output Window\";\n let acOut = $(\".ac_output\").addClass(\"col-md-6\");\n $(\".ac_output\").prepend(acOutTitle);\n\n let sketchpadTitle = document.createElement(\"h4\");\n sketchpadTitle.textContent = \"Sketchpad\";\n let sketchpad = document.createElement(\"span\");\n $(sketchpad).addClass(\"sketchpad\");\n let sketchpadContainer = document.createElement(\"div\");\n $(sketchpadContainer).addClass(\"sketchpad-container\");\n sketchpadContainer.appendChild(sketchpadTitle);\n sketchpadContainer.appendChild(sketchpad);\n //$('.ac_output').append(sketchpadContainer);\n\n let visualizers = $(\".ExecutionVisualizer\");\n\n console.log(\"Econtainer: \", this.eContainer);\n\n $(\"[data-childcomponent]\").on(\"click\", \"button.row-mode\", function () {\n $(this).closest(\"[data-childcomponent]\").removeClass(\"card-mode\");\n $(this).closest(\"[data-childcomponent]\").addClass(\"row-mode\");\n $(this).next(\".card-mode\").removeClass(\"active-layout\");\n $(this).addClass(\"active-layout\");\n });\n\n $(\"[data-childcomponent]\").on(\"click\", \"button.card-mode\", function () {\n $(this).closest(\"[data-childcomponent]\").removeClass(\"row-mode\");\n $(this).closest(\"[data-childcomponent]\").addClass(\"card-mode\");\n $(this).prev(\".row-mode\").removeClass(\"active-layout\");\n $(this).addClass(\"active-layout\");\n });\n\n $(\"[data-childcomponent] .ac_section\").each(function () {\n $(this).prepend(\n '
    '\n );\n });\n\n visualizers.each(function (index) {\n let me = $(this);\n let col1 = me.find(\"#vizLayoutTdFirst\");\n let col2 = me.find(\"#vizLayoutTdSecond\");\n let dataVis = me.find(\"#dataViz\");\n let stackHeapTable = me.find(\"#stackHeapTable\");\n let output = me.find(\"#progOutputs\");\n output.css(\"display\", \"block\");\n me.parent().prepend(\n \"
    Example \" +\n (Number(index) + 1) +\n \"
    \"\n );\n });\n\n acCode.each(function () {\n let section = $(this).closest(\".ac-block\").parent();\n console.log(section, section.length);\n section.append(sketchpadContainer);\n });\n\n $(\"button.card-mode\").click();\n\n let modeSelect = $(\".mode-select\");\n let mode = localStorage.getItem(\"presentMode\");\n if (mode == \"present\") {\n modeSelect.val(\"present\");\n modeSelect.change();\n }\n}\n\n$(document).on(\"runestone:login-complete\", function () {\n // if user is instructor, enable presenter mode\n if (eBookConfig.isInstructor) {\n configure();\n }\n});\n","/*!\n * jQuery Internationalization library\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( function ( $ ) {\n\t'use strict';\n\n\t$.i18n = $.i18n || {};\n\t$.extend( $.i18n.fallbacks, {\n\t\tab: [ 'ru' ],\n\t\tace: [ 'id' ],\n\t\taln: [ 'sq' ],\n\t\t// Not so standard - als is supposed to be Tosk Albanian,\n\t\t// but in Wikipedia it's used for a Germanic language.\n\t\tals: [ 'gsw', 'de' ],\n\t\tan: [ 'es' ],\n\t\tanp: [ 'hi' ],\n\t\tarn: [ 'es' ],\n\t\tarz: [ 'ar' ],\n\t\tav: [ 'ru' ],\n\t\tay: [ 'es' ],\n\t\tba: [ 'ru' ],\n\t\tbar: [ 'de' ],\n\t\t'bat-smg': [ 'sgs', 'lt' ],\n\t\tbcc: [ 'fa' ],\n\t\t'be-x-old': [ 'be-tarask' ],\n\t\tbh: [ 'bho' ],\n\t\tbjn: [ 'id' ],\n\t\tbm: [ 'fr' ],\n\t\tbpy: [ 'bn' ],\n\t\tbqi: [ 'fa' ],\n\t\tbug: [ 'id' ],\n\t\t'cbk-zam': [ 'es' ],\n\t\tce: [ 'ru' ],\n\t\tcrh: [ 'crh-latn' ],\n\t\t'crh-cyrl': [ 'ru' ],\n\t\tcsb: [ 'pl' ],\n\t\tcv: [ 'ru' ],\n\t\t'de-at': [ 'de' ],\n\t\t'de-ch': [ 'de' ],\n\t\t'de-formal': [ 'de' ],\n\t\tdsb: [ 'de' ],\n\t\tdtp: [ 'ms' ],\n\t\tegl: [ 'it' ],\n\t\teml: [ 'it' ],\n\t\tff: [ 'fr' ],\n\t\tfit: [ 'fi' ],\n\t\t'fiu-vro': [ 'vro', 'et' ],\n\t\tfrc: [ 'fr' ],\n\t\tfrp: [ 'fr' ],\n\t\tfrr: [ 'de' ],\n\t\tfur: [ 'it' ],\n\t\tgag: [ 'tr' ],\n\t\tgan: [ 'gan-hant', 'zh-hant', 'zh-hans' ],\n\t\t'gan-hans': [ 'zh-hans' ],\n\t\t'gan-hant': [ 'zh-hant', 'zh-hans' ],\n\t\tgl: [ 'pt' ],\n\t\tglk: [ 'fa' ],\n\t\tgn: [ 'es' ],\n\t\tgsw: [ 'de' ],\n\t\thif: [ 'hif-latn' ],\n\t\thsb: [ 'de' ],\n\t\tht: [ 'fr' ],\n\t\tii: [ 'zh-cn', 'zh-hans' ],\n\t\tinh: [ 'ru' ],\n\t\tiu: [ 'ike-cans' ],\n\t\tjut: [ 'da' ],\n\t\tjv: [ 'id' ],\n\t\tkaa: [ 'kk-latn', 'kk-cyrl' ],\n\t\tkbd: [ 'kbd-cyrl' ],\n\t\tkhw: [ 'ur' ],\n\t\tkiu: [ 'tr' ],\n\t\tkk: [ 'kk-cyrl' ],\n\t\t'kk-arab': [ 'kk-cyrl' ],\n\t\t'kk-latn': [ 'kk-cyrl' ],\n\t\t'kk-cn': [ 'kk-arab', 'kk-cyrl' ],\n\t\t'kk-kz': [ 'kk-cyrl' ],\n\t\t'kk-tr': [ 'kk-latn', 'kk-cyrl' ],\n\t\tkl: [ 'da' ],\n\t\t'ko-kp': [ 'ko' ],\n\t\tkoi: [ 'ru' ],\n\t\tkrc: [ 'ru' ],\n\t\tks: [ 'ks-arab' ],\n\t\tksh: [ 'de' ],\n\t\tku: [ 'ku-latn' ],\n\t\t'ku-arab': [ 'ckb' ],\n\t\tkv: [ 'ru' ],\n\t\tlad: [ 'es' ],\n\t\tlb: [ 'de' ],\n\t\tlbe: [ 'ru' ],\n\t\tlez: [ 'ru' ],\n\t\tli: [ 'nl' ],\n\t\tlij: [ 'it' ],\n\t\tliv: [ 'et' ],\n\t\tlmo: [ 'it' ],\n\t\tln: [ 'fr' ],\n\t\tltg: [ 'lv' ],\n\t\tlzz: [ 'tr' ],\n\t\tmai: [ 'hi' ],\n\t\t'map-bms': [ 'jv', 'id' ],\n\t\tmg: [ 'fr' ],\n\t\tmhr: [ 'ru' ],\n\t\tmin: [ 'id' ],\n\t\tmo: [ 'ro' ],\n\t\tmrj: [ 'ru' ],\n\t\tmwl: [ 'pt' ],\n\t\tmyv: [ 'ru' ],\n\t\tmzn: [ 'fa' ],\n\t\tnah: [ 'es' ],\n\t\tnap: [ 'it' ],\n\t\tnds: [ 'de' ],\n\t\t'nds-nl': [ 'nl' ],\n\t\t'nl-informal': [ 'nl' ],\n\t\tno: [ 'nb' ],\n\t\tos: [ 'ru' ],\n\t\tpcd: [ 'fr' ],\n\t\tpdc: [ 'de' ],\n\t\tpdt: [ 'de' ],\n\t\tpfl: [ 'de' ],\n\t\tpms: [ 'it' ],\n\t\tpt: [ 'pt-br' ],\n\t\t'pt-br': [ 'pt' ],\n\t\tqu: [ 'es' ],\n\t\tqug: [ 'qu', 'es' ],\n\t\trgn: [ 'it' ],\n\t\trmy: [ 'ro' ],\n\t\t'roa-rup': [ 'rup' ],\n\t\true: [ 'uk', 'ru' ],\n\t\truq: [ 'ruq-latn', 'ro' ],\n\t\t'ruq-cyrl': [ 'mk' ],\n\t\t'ruq-latn': [ 'ro' ],\n\t\tsa: [ 'hi' ],\n\t\tsah: [ 'ru' ],\n\t\tscn: [ 'it' ],\n\t\tsg: [ 'fr' ],\n\t\tsgs: [ 'lt' ],\n\t\tsli: [ 'de' ],\n\t\tsr: [ 'sr-ec' ],\n\t\tsrn: [ 'nl' ],\n\t\tstq: [ 'de' ],\n\t\tsu: [ 'id' ],\n\t\tszl: [ 'pl' ],\n\t\ttcy: [ 'kn' ],\n\t\ttg: [ 'tg-cyrl' ],\n\t\ttt: [ 'tt-cyrl', 'ru' ],\n\t\t'tt-cyrl': [ 'ru' ],\n\t\tty: [ 'fr' ],\n\t\tudm: [ 'ru' ],\n\t\tug: [ 'ug-arab' ],\n\t\tuk: [ 'ru' ],\n\t\tvec: [ 'it' ],\n\t\tvep: [ 'et' ],\n\t\tvls: [ 'nl' ],\n\t\tvmf: [ 'de' ],\n\t\tvot: [ 'fi' ],\n\t\tvro: [ 'et' ],\n\t\twa: [ 'fr' ],\n\t\two: [ 'fr' ],\n\t\twuu: [ 'zh-hans' ],\n\t\txal: [ 'ru' ],\n\t\txmf: [ 'ka' ],\n\t\tyi: [ 'he' ],\n\t\tza: [ 'zh-hans' ],\n\t\tzea: [ 'nl' ],\n\t\tzh: [ 'zh-hans' ],\n\t\t'zh-classical': [ 'lzh' ],\n\t\t'zh-cn': [ 'zh-hans' ],\n\t\t'zh-hant': [ 'zh-hans' ],\n\t\t'zh-hk': [ 'zh-hant', 'zh-hans' ],\n\t\t'zh-min-nan': [ 'nan' ],\n\t\t'zh-mo': [ 'zh-hk', 'zh-hant', 'zh-hans' ],\n\t\t'zh-my': [ 'zh-sg', 'zh-hans' ],\n\t\t'zh-sg': [ 'zh-hans' ],\n\t\t'zh-tw': [ 'zh-hant', 'zh-hans' ],\n\t\t'zh-yue': [ 'yue' ]\n\t} );\n}( jQuery ) );\n","/* 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 * BIDI embedding support for jQuery.i18n\n *\n * Copyright (C) 2015, David Chan\n *\n * This code 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 this code\n * in commercial projects as long as the copyright header is left intact.\n * 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\tvar strongDirRegExp;\n\n\t/**\n\t * Matches the first strong directionality codepoint:\n\t * - in group 1 if it is LTR\n\t * - in group 2 if it is RTL\n\t * Does not match if there is no strong directionality codepoint.\n\t *\n\t * Generated by UnicodeJS (see tools/strongDir) from the UCD; see\n\t * https://phabricator.wikimedia.org/diffusion/GUJS/ .\n\t */\n\tstrongDirRegExp = new RegExp(\n\t\t'(?:' +\n\t\t\t'(' +\n\t\t\t\t'[\\u0041-\\u005a\\u0061-\\u007a\\u00aa\\u00b5\\u00ba\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u02bb-\\u02c1\\u02d0\\u02d1\\u02e0-\\u02e4\\u02ee\\u0370-\\u0373\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0482\\u048a-\\u052f\\u0531-\\u0556\\u0559-\\u055f\\u0561-\\u0587\\u0589\\u0903-\\u0939\\u093b\\u093d-\\u0940\\u0949-\\u094c\\u094e-\\u0950\\u0958-\\u0961\\u0964-\\u0980\\u0982\\u0983\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd-\\u09c0\\u09c7\\u09c8\\u09cb\\u09cc\\u09ce\\u09d7\\u09dc\\u09dd\\u09df-\\u09e1\\u09e6-\\u09f1\\u09f4-\\u09fa\\u0a03\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a3e-\\u0a40\\u0a59-\\u0a5c\\u0a5e\\u0a66-\\u0a6f\\u0a72-\\u0a74\\u0a83\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd-\\u0ac0\\u0ac9\\u0acb\\u0acc\\u0ad0\\u0ae0\\u0ae1\\u0ae6-\\u0af0\\u0af9\\u0b02\\u0b03\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b3e\\u0b40\\u0b47\\u0b48\\u0b4b\\u0b4c\\u0b57\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b66-\\u0b77\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bbe\\u0bbf\\u0bc1\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcc\\u0bd0\\u0bd7\\u0be6-\\u0bf2\\u0c01-\\u0c03\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c41-\\u0c44\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c66-\\u0c6f\\u0c7f\\u0c82\\u0c83\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd-\\u0cc4\\u0cc6-\\u0cc8\\u0cca\\u0ccb\\u0cd5\\u0cd6\\u0cde\\u0ce0\\u0ce1\\u0ce6-\\u0cef\\u0cf1\\u0cf2\\u0d02\\u0d03\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d-\\u0d40\\u0d46-\\u0d48\\u0d4a-\\u0d4c\\u0d4e\\u0d57\\u0d5f-\\u0d61\\u0d66-\\u0d75\\u0d79-\\u0d7f\\u0d82\\u0d83\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0dcf-\\u0dd1\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2-\\u0df4\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e4f-\\u0e5b\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0ed0-\\u0ed9\\u0edc-\\u0edf\\u0f00-\\u0f17\\u0f1a-\\u0f34\\u0f36\\u0f38\\u0f3e-\\u0f47\\u0f49-\\u0f6c\\u0f7f\\u0f85\\u0f88-\\u0f8c\\u0fbe-\\u0fc5\\u0fc7-\\u0fcc\\u0fce-\\u0fda\\u1000-\\u102c\\u1031\\u1038\\u103b\\u103c\\u103f-\\u1057\\u105a-\\u105d\\u1061-\\u1070\\u1075-\\u1081\\u1083\\u1084\\u1087-\\u108c\\u108e-\\u109c\\u109e-\\u10c5\\u10c7\\u10cd\\u10d0-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1360-\\u137c\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u167f\\u1681-\\u169a\\u16a0-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1735\\u1736\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17b6\\u17be-\\u17c5\\u17c7\\u17c8\\u17d4-\\u17da\\u17dc\\u17e0-\\u17e9\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1923-\\u1926\\u1929-\\u192b\\u1930\\u1931\\u1933-\\u1938\\u1946-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u19d0-\\u19da\\u1a00-\\u1a16\\u1a19\\u1a1a\\u1a1e-\\u1a55\\u1a57\\u1a61\\u1a63\\u1a64\\u1a6d-\\u1a72\\u1a80-\\u1a89\\u1a90-\\u1a99\\u1aa0-\\u1aad\\u1b04-\\u1b33\\u1b35\\u1b3b\\u1b3d-\\u1b41\\u1b43-\\u1b4b\\u1b50-\\u1b6a\\u1b74-\\u1b7c\\u1b82-\\u1ba1\\u1ba6\\u1ba7\\u1baa\\u1bae-\\u1be5\\u1be7\\u1bea-\\u1bec\\u1bee\\u1bf2\\u1bf3\\u1bfc-\\u1c2b\\u1c34\\u1c35\\u1c3b-\\u1c49\\u1c4d-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u1ce1\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u200e\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u214f\\u2160-\\u2188\\u2336-\\u237a\\u2395\\u249c-\\u24e9\\u26ac\\u2800-\\u28ff\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d70\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u302e\\u302f\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u3190-\\u31ba\\u31f0-\\u321c\\u3220-\\u324f\\u3260-\\u327b\\u327f-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u32fe\\u3300-\\u3376\\u337b-\\u33dd\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fd5\\ua000-\\ua48c\\ua4d0-\\ua60c\\ua610-\\ua62b\\ua640-\\ua66e\\ua680-\\ua69d\\ua6a0-\\ua6ef\\ua6f2-\\ua6f7\\ua722-\\ua787\\ua789-\\ua7ad\\ua7b0-\\ua7b7\\ua7f7-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua824\\ua827\\ua830-\\ua837\\ua840-\\ua873\\ua880-\\ua8c3\\ua8ce-\\ua8d9\\ua8f2-\\ua8fd\\ua900-\\ua925\\ua92e-\\ua946\\ua952\\ua953\\ua95f-\\ua97c\\ua983-\\ua9b2\\ua9b4\\ua9b5\\ua9ba\\ua9bb\\ua9bd-\\ua9cd\\ua9cf-\\ua9d9\\ua9de-\\ua9e4\\ua9e6-\\ua9fe\\uaa00-\\uaa28\\uaa2f\\uaa30\\uaa33\\uaa34\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa4d\\uaa50-\\uaa59\\uaa5c-\\uaa7b\\uaa7d-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaaeb\\uaaee-\\uaaf5\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab65\\uab70-\\uabe4\\uabe6\\uabe7\\uabe9-\\uabec\\uabf0-\\uabf9\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ue000-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]|\\ud800[\\udc00-\\udc0b]|\\ud800[\\udc0d-\\udc26]|\\ud800[\\udc28-\\udc3a]|\\ud800\\udc3c|\\ud800\\udc3d|\\ud800[\\udc3f-\\udc4d]|\\ud800[\\udc50-\\udc5d]|\\ud800[\\udc80-\\udcfa]|\\ud800\\udd00|\\ud800\\udd02|\\ud800[\\udd07-\\udd33]|\\ud800[\\udd37-\\udd3f]|\\ud800[\\uddd0-\\uddfc]|\\ud800[\\ude80-\\ude9c]|\\ud800[\\udea0-\\uded0]|\\ud800[\\udf00-\\udf23]|\\ud800[\\udf30-\\udf4a]|\\ud800[\\udf50-\\udf75]|\\ud800[\\udf80-\\udf9d]|\\ud800[\\udf9f-\\udfc3]|\\ud800[\\udfc8-\\udfd5]|\\ud801[\\udc00-\\udc9d]|\\ud801[\\udca0-\\udca9]|\\ud801[\\udd00-\\udd27]|\\ud801[\\udd30-\\udd63]|\\ud801\\udd6f|\\ud801[\\ude00-\\udf36]|\\ud801[\\udf40-\\udf55]|\\ud801[\\udf60-\\udf67]|\\ud804\\udc00|\\ud804[\\udc02-\\udc37]|\\ud804[\\udc47-\\udc4d]|\\ud804[\\udc66-\\udc6f]|\\ud804[\\udc82-\\udcb2]|\\ud804\\udcb7|\\ud804\\udcb8|\\ud804[\\udcbb-\\udcc1]|\\ud804[\\udcd0-\\udce8]|\\ud804[\\udcf0-\\udcf9]|\\ud804[\\udd03-\\udd26]|\\ud804\\udd2c|\\ud804[\\udd36-\\udd43]|\\ud804[\\udd50-\\udd72]|\\ud804[\\udd74-\\udd76]|\\ud804[\\udd82-\\uddb5]|\\ud804[\\uddbf-\\uddc9]|\\ud804\\uddcd|\\ud804[\\uddd0-\\udddf]|\\ud804[\\udde1-\\uddf4]|\\ud804[\\ude00-\\ude11]|\\ud804[\\ude13-\\ude2e]|\\ud804\\ude32|\\ud804\\ude33|\\ud804\\ude35|\\ud804[\\ude38-\\ude3d]|\\ud804[\\ude80-\\ude86]|\\ud804\\ude88|\\ud804[\\ude8a-\\ude8d]|\\ud804[\\ude8f-\\ude9d]|\\ud804[\\ude9f-\\udea9]|\\ud804[\\udeb0-\\udede]|\\ud804[\\udee0-\\udee2]|\\ud804[\\udef0-\\udef9]|\\ud804\\udf02|\\ud804\\udf03|\\ud804[\\udf05-\\udf0c]|\\ud804\\udf0f|\\ud804\\udf10|\\ud804[\\udf13-\\udf28]|\\ud804[\\udf2a-\\udf30]|\\ud804\\udf32|\\ud804\\udf33|\\ud804[\\udf35-\\udf39]|\\ud804[\\udf3d-\\udf3f]|\\ud804[\\udf41-\\udf44]|\\ud804\\udf47|\\ud804\\udf48|\\ud804[\\udf4b-\\udf4d]|\\ud804\\udf50|\\ud804\\udf57|\\ud804[\\udf5d-\\udf63]|\\ud805[\\udc80-\\udcb2]|\\ud805\\udcb9|\\ud805[\\udcbb-\\udcbe]|\\ud805\\udcc1|\\ud805[\\udcc4-\\udcc7]|\\ud805[\\udcd0-\\udcd9]|\\ud805[\\udd80-\\uddb1]|\\ud805[\\uddb8-\\uddbb]|\\ud805\\uddbe|\\ud805[\\uddc1-\\udddb]|\\ud805[\\ude00-\\ude32]|\\ud805\\ude3b|\\ud805\\ude3c|\\ud805\\ude3e|\\ud805[\\ude41-\\ude44]|\\ud805[\\ude50-\\ude59]|\\ud805[\\ude80-\\udeaa]|\\ud805\\udeac|\\ud805\\udeae|\\ud805\\udeaf|\\ud805\\udeb6|\\ud805[\\udec0-\\udec9]|\\ud805[\\udf00-\\udf19]|\\ud805\\udf20|\\ud805\\udf21|\\ud805\\udf26|\\ud805[\\udf30-\\udf3f]|\\ud806[\\udca0-\\udcf2]|\\ud806\\udcff|\\ud806[\\udec0-\\udef8]|\\ud808[\\udc00-\\udf99]|\\ud809[\\udc00-\\udc6e]|\\ud809[\\udc70-\\udc74]|\\ud809[\\udc80-\\udd43]|\\ud80c[\\udc00-\\udfff]|\\ud80d[\\udc00-\\udc2e]|\\ud811[\\udc00-\\ude46]|\\ud81a[\\udc00-\\ude38]|\\ud81a[\\ude40-\\ude5e]|\\ud81a[\\ude60-\\ude69]|\\ud81a\\ude6e|\\ud81a\\ude6f|\\ud81a[\\uded0-\\udeed]|\\ud81a\\udef5|\\ud81a[\\udf00-\\udf2f]|\\ud81a[\\udf37-\\udf45]|\\ud81a[\\udf50-\\udf59]|\\ud81a[\\udf5b-\\udf61]|\\ud81a[\\udf63-\\udf77]|\\ud81a[\\udf7d-\\udf8f]|\\ud81b[\\udf00-\\udf44]|\\ud81b[\\udf50-\\udf7e]|\\ud81b[\\udf93-\\udf9f]|\\ud82c\\udc00|\\ud82c\\udc01|\\ud82f[\\udc00-\\udc6a]|\\ud82f[\\udc70-\\udc7c]|\\ud82f[\\udc80-\\udc88]|\\ud82f[\\udc90-\\udc99]|\\ud82f\\udc9c|\\ud82f\\udc9f|\\ud834[\\udc00-\\udcf5]|\\ud834[\\udd00-\\udd26]|\\ud834[\\udd29-\\udd66]|\\ud834[\\udd6a-\\udd72]|\\ud834\\udd83|\\ud834\\udd84|\\ud834[\\udd8c-\\udda9]|\\ud834[\\uddae-\\udde8]|\\ud834[\\udf60-\\udf71]|\\ud835[\\udc00-\\udc54]|\\ud835[\\udc56-\\udc9c]|\\ud835\\udc9e|\\ud835\\udc9f|\\ud835\\udca2|\\ud835\\udca5|\\ud835\\udca6|\\ud835[\\udca9-\\udcac]|\\ud835[\\udcae-\\udcb9]|\\ud835\\udcbb|\\ud835[\\udcbd-\\udcc3]|\\ud835[\\udcc5-\\udd05]|\\ud835[\\udd07-\\udd0a]|\\ud835[\\udd0d-\\udd14]|\\ud835[\\udd16-\\udd1c]|\\ud835[\\udd1e-\\udd39]|\\ud835[\\udd3b-\\udd3e]|\\ud835[\\udd40-\\udd44]|\\ud835\\udd46|\\ud835[\\udd4a-\\udd50]|\\ud835[\\udd52-\\udea5]|\\ud835[\\udea8-\\udeda]|\\ud835[\\udedc-\\udf14]|\\ud835[\\udf16-\\udf4e]|\\ud835[\\udf50-\\udf88]|\\ud835[\\udf8a-\\udfc2]|\\ud835[\\udfc4-\\udfcb]|\\ud836[\\udc00-\\uddff]|\\ud836[\\ude37-\\ude3a]|\\ud836[\\ude6d-\\ude74]|\\ud836[\\ude76-\\ude83]|\\ud836[\\ude85-\\ude8b]|\\ud83c[\\udd10-\\udd2e]|\\ud83c[\\udd30-\\udd69]|\\ud83c[\\udd70-\\udd9a]|\\ud83c[\\udde6-\\ude02]|\\ud83c[\\ude10-\\ude3a]|\\ud83c[\\ude40-\\ude48]|\\ud83c\\ude50|\\ud83c\\ude51|[\\ud840-\\ud868][\\udc00-\\udfff]|\\ud869[\\udc00-\\uded6]|\\ud869[\\udf00-\\udfff]|[\\ud86a-\\ud86c][\\udc00-\\udfff]|\\ud86d[\\udc00-\\udf34]|\\ud86d[\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d]|\\ud86e[\\udc20-\\udfff]|[\\ud86f-\\ud872][\\udc00-\\udfff]|\\ud873[\\udc00-\\udea1]|\\ud87e[\\udc00-\\ude1d]|[\\udb80-\\udbbe][\\udc00-\\udfff]|\\udbbf[\\udc00-\\udffd]|[\\udbc0-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udffd]' +\n\t\t\t')|(' +\n\t\t\t\t'[\\u0590\\u05be\\u05c0\\u05c3\\u05c6\\u05c8-\\u05ff\\u07c0-\\u07ea\\u07f4\\u07f5\\u07fa-\\u0815\\u081a\\u0824\\u0828\\u082e-\\u0858\\u085c-\\u089f\\u200f\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb4f\\u0608\\u060b\\u060d\\u061b-\\u064a\\u066d-\\u066f\\u0671-\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u0710\\u0712-\\u072f\\u074b-\\u07a5\\u07b1-\\u07bf\\u08a0-\\u08e2\\ufb50-\\ufd3d\\ufd40-\\ufdcf\\ufdf0-\\ufdfc\\ufdfe\\ufdff\\ufe70-\\ufefe]|\\ud802[\\udc00-\\udd1e]|\\ud802[\\udd20-\\ude00]|\\ud802\\ude04|\\ud802[\\ude07-\\ude0b]|\\ud802[\\ude10-\\ude37]|\\ud802[\\ude3b-\\ude3e]|\\ud802[\\ude40-\\udee4]|\\ud802[\\udee7-\\udf38]|\\ud802[\\udf40-\\udfff]|\\ud803[\\udc00-\\ude5f]|\\ud803[\\ude7f-\\udfff]|\\ud83a[\\udc00-\\udccf]|\\ud83a[\\udcd7-\\udfff]|\\ud83b[\\udc00-\\uddff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\ude00-\\udeef]|\\ud83b[\\udef2-\\udeff]' +\n\t\t\t')' +\n\t\t')'\n\t);\n\n\t/**\n\t * Gets directionality of the first strongly directional codepoint\n\t *\n\t * This is the rule the BIDI algorithm uses to determine the directionality of\n\t * paragraphs ( http://unicode.org/reports/tr9/#The_Paragraph_Level ) and\n\t * FSI isolates ( http://unicode.org/reports/tr9/#Explicit_Directional_Isolates ).\n\t *\n\t * TODO: Does not handle BIDI control characters inside the text.\n\t * TODO: Does not handle unallocated characters.\n\t *\n\t * @param {string} text The text from which to extract initial directionality.\n\t * @return {string} Directionality (either 'ltr' or 'rtl')\n\t */\n\tfunction strongDirFromContent( text ) {\n\t\tvar m = text.match( strongDirRegExp );\n\t\tif ( !m ) {\n\t\t\treturn null;\n\t\t}\n\t\tif ( m[ 2 ] === undefined ) {\n\t\t\treturn 'ltr';\n\t\t}\n\t\treturn 'rtl';\n\t}\n\n\t$.extend( $.i18n.parser.emitter, {\n\t\t/**\n\t\t * Wraps argument with unicode control characters for directionality safety\n\t\t *\n\t\t * This solves the problem where directionality-neutral characters at the edge of\n\t\t * the argument string get interpreted with the wrong directionality from the\n\t\t * enclosing context, giving renderings that look corrupted like \"(Ben_(WMF\".\n\t\t *\n\t\t * The wrapping is LRE...PDF or RLE...PDF, depending on the detected\n\t\t * directionality of the argument string, using the BIDI algorithm's own \"First\n\t\t * strong directional codepoint\" rule. Essentially, this works round the fact that\n\t\t * there is no embedding equivalent of U+2068 FSI (isolation with heuristic\n\t\t * direction inference). The latter is cleaner but still not widely supported.\n\t\t *\n\t\t * @param {string[]} nodes The text nodes from which to take the first item.\n\t\t * @return {string} Wrapped String of content as needed.\n\t\t */\n\t\tbidi: function ( nodes ) {\n\t\t\tvar dir = strongDirFromContent( nodes[ 0 ] );\n\t\t\tif ( dir === 'ltr' ) {\n\t\t\t\t// Wrap in LEFT-TO-RIGHT EMBEDDING ... POP DIRECTIONAL FORMATTING\n\t\t\t\treturn '\\u202A' + nodes[ 0 ] + '\\u202C';\n\t\t\t}\n\t\t\tif ( dir === 'rtl' ) {\n\t\t\t\t// Wrap in RIGHT-TO-LEFT EMBEDDING ... POP DIRECTIONAL FORMATTING\n\t\t\t\treturn '\\u202B' + nodes[ 0 ] + '\\u202C';\n\t\t\t}\n\t\t\t// No strong directionality: do not wrap\n\t\t\treturn nodes[ 0 ];\n\t\t}\n\t} );\n}( jQuery ) );\n","module.exports = jQuery;","/*!\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 MessageParserEmitter = function () {\n\t\tthis.language = $.i18n.languages[ String.locale ] || $.i18n.languages[ 'default' ];\n\t};\n\n\tMessageParserEmitter.prototype = {\n\t\tconstructor: MessageParserEmitter,\n\n\t\t/**\n\t\t * (We put this method definition here, and not in prototype, to make\n\t\t * sure it's not overwritten by any magic.) Walk entire node structure,\n\t\t * applying replacements and template functions when appropriate\n\t\t *\n\t\t * @param {Mixed} node abstract syntax tree (top node or subnode)\n\t\t * @param {Array} replacements for $1, $2, ... $n\n\t\t * @return {Mixed} single-string node or array of nodes suitable for\n\t\t * jQuery appending.\n\t\t */\n\t\temit: function ( node, replacements ) {\n\t\t\tvar ret, subnodes, operation,\n\t\t\t\tmessageParserEmitter = this;\n\n\t\t\tswitch ( typeof node ) {\n\t\t\t\tcase 'string':\n\t\t\t\tcase 'number':\n\t\t\t\t\tret = node;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'object':\n\t\t\t\t// node is an array of nodes\n\t\t\t\t\tsubnodes = $.map( node.slice( 1 ), function ( n ) {\n\t\t\t\t\t\treturn messageParserEmitter.emit( n, replacements );\n\t\t\t\t\t} );\n\n\t\t\t\t\toperation = node[ 0 ].toLowerCase();\n\n\t\t\t\t\tif ( typeof messageParserEmitter[ operation ] === 'function' ) {\n\t\t\t\t\t\tret = messageParserEmitter[ operation ]( subnodes, replacements );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new Error( 'unknown operation \"' + operation + '\"' );\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'undefined':\n\t\t\t\t// Parsing the empty string (as an entire expression, or as a\n\t\t\t\t// paramExpression in a template) results in undefined\n\t\t\t\t// Perhaps a more clever parser can detect this, and return the\n\t\t\t\t// empty string? Or is that useful information?\n\t\t\t\t// The logical thing is probably to return the empty string here\n\t\t\t\t// when we encounter undefined.\n\t\t\t\t\tret = '';\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'unexpected type in AST: ' + typeof node );\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t},\n\n\t\t/**\n\t\t * Parsing has been applied depth-first we can assume that all nodes\n\t\t * here are single nodes Must return a single node to parents -- a\n\t\t * jQuery with synthetic span However, unwrap any other synthetic spans\n\t\t * in our children and pass them upwards\n\t\t *\n\t\t * @param {Array} nodes Mixed, some single nodes, some arrays of nodes.\n\t\t * @return {string}\n\t\t */\n\t\tconcat: function ( nodes ) {\n\t\t\tvar result = '';\n\n\t\t\t$.each( nodes, function ( i, node ) {\n\t\t\t\t// strings, integers, anything else\n\t\t\t\tresult += node;\n\t\t\t} );\n\n\t\t\treturn result;\n\t\t},\n\n\t\t/**\n\t\t * Return escaped replacement of correct index, or string if\n\t\t * unavailable. Note that we expect the parsed parameter to be\n\t\t * zero-based. i.e. $1 should have become [ 0 ]. if the specified\n\t\t * parameter is not found return the same string (e.g. \"$99\" ->\n\t\t * parameter 98 -> not found -> return \"$99\" ) TODO throw error if\n\t\t * nodes.length > 1 ?\n\t\t *\n\t\t * @param {Array} nodes One element, integer, n >= 0\n\t\t * @param {Array} replacements for $1, $2, ... $n\n\t\t * @return {string} replacement\n\t\t */\n\t\treplace: function ( nodes, replacements ) {\n\t\t\tvar index = parseInt( nodes[ 0 ], 10 );\n\n\t\t\tif ( index < replacements.length ) {\n\t\t\t\t// replacement is not a string, don't touch!\n\t\t\t\treturn replacements[ index ];\n\t\t\t} else {\n\t\t\t\t// index not found, fallback to displaying variable\n\t\t\t\treturn '$' + ( index + 1 );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Transform parsed structure into pluralization n.b. The first node may\n\t\t * be a non-integer (for instance, a string representing an Arabic\n\t\t * number). So convert it back with the current language's\n\t\t * convertNumber.\n\t\t *\n\t\t * @param {Array} nodes List [ {String|Number}, {String}, {String} ... ]\n\t\t * @return {string} selected pluralized form according to current\n\t\t * language.\n\t\t */\n\t\tplural: function ( nodes ) {\n\t\t\tvar count = parseFloat( this.language.convertNumber( nodes[ 0 ], 10 ) ),\n\t\t\t\tforms = nodes.slice( 1 );\n\n\t\t\treturn forms.length ? this.language.convertPlural( count, forms ) : '';\n\t\t},\n\n\t\t/**\n\t\t * Transform parsed structure into gender Usage\n\t\t * {{gender:gender|masculine|feminine|neutral}}.\n\t\t *\n\t\t * @param {Array} nodes List [ {String}, {String}, {String} , {String} ]\n\t\t * @return {string} selected gender form according to current language\n\t\t */\n\t\tgender: function ( nodes ) {\n\t\t\tvar gender = nodes[ 0 ],\n\t\t\t\tforms = nodes.slice( 1 );\n\n\t\t\treturn this.language.gender( gender, forms );\n\t\t},\n\n\t\t/**\n\t\t * Transform parsed structure into grammar conversion. Invoked by\n\t\t * putting {{grammar:form|word}} in a message\n\t\t *\n\t\t * @param {Array} nodes List [{Grammar case eg: genitive}, {String word}]\n\t\t * @return {string} selected grammatical form according to current\n\t\t * language.\n\t\t */\n\t\tgrammar: function ( nodes ) {\n\t\t\tvar form = nodes[ 0 ],\n\t\t\t\tword = nodes[ 1 ];\n\n\t\t\treturn word && form && this.language.convertGrammar( word, form );\n\t\t}\n\t};\n\n\t$.extend( $.i18n.parser.emitter, new MessageParserEmitter() );\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 ) );","/*!\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) 2012 Santhosh Thottingal\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 I18N,\n\t\tslice = Array.prototype.slice;\n\t/**\n\t * @constructor\n\t * @param {Object} options\n\t */\n\tI18N = function ( options ) {\n\t\t// Load defaults\n\t\tthis.options = $.extend( {}, I18N.defaults, options );\n\n\t\tthis.parser = this.options.parser;\n\t\tthis.locale = this.options.locale;\n\t\tthis.messageStore = this.options.messageStore;\n\t\tthis.languages = {};\n\t};\n\n\tI18N.prototype = {\n\t\t/**\n\t\t * Localize a given messageKey to a locale.\n\t\t * @param {String} messageKey\n\t\t * @return {String} Localized message\n\t\t */\n\t\tlocalize: function ( messageKey ) {\n\t\t\tvar localeParts, localePartIndex, locale, fallbackIndex,\n\t\t\t\ttryingLocale, message;\n\n\t\t\tlocale = this.locale;\n\t\t\tfallbackIndex = 0;\n\n\t\t\twhile ( locale ) {\n\t\t\t\t// Iterate through locales starting at most-specific until\n\t\t\t\t// localization is found. As in fi-Latn-FI, fi-Latn and fi.\n\t\t\t\tlocaleParts = locale.split( '-' );\n\t\t\t\tlocalePartIndex = localeParts.length;\n\n\t\t\t\tdo {\n\t\t\t\t\ttryingLocale = localeParts.slice( 0, localePartIndex ).join( '-' );\n\t\t\t\t\tmessage = this.messageStore.get( tryingLocale, messageKey );\n\n\t\t\t\t\tif ( message ) {\n\t\t\t\t\t\treturn message;\n\t\t\t\t\t}\n\n\t\t\t\t\tlocalePartIndex--;\n\t\t\t\t} while ( localePartIndex );\n\n\t\t\t\tif ( locale === 'en' ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tlocale = ( $.i18n.fallbacks[ this.locale ] &&\n\t\t\t\t\t\t$.i18n.fallbacks[ this.locale ][ fallbackIndex ] ) ||\n\t\t\t\t\t\tthis.options.fallbackLocale;\n\t\t\t\t$.i18n.log( 'Trying fallback locale for ' + this.locale + ': ' + locale + ' (' + messageKey + ')' );\n\n\t\t\t\tfallbackIndex++;\n\t\t\t}\n\n\t\t\t// key not found\n\t\t\treturn '';\n\t\t},\n\n\t\t/*\n\t\t * Destroy the i18n instance.\n\t\t */\n\t\tdestroy: function () {\n\t\t\t$.removeData( document, 'i18n' );\n\t\t},\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. Example:\n\t\t * 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 ) );","/*!\n * jQuery idleTimer plugin\n * version 0.9.100511\n * by Paul Irish.\n * http://github.com/paulirish/yui-misc/tree/\n * MIT license\n\n * adapted from YUI idle timer by nzakas:\n * http://github.com/nzakas/yui-misc/\n*/\n/*\n * Copyright (c) 2009 Nicholas C. Zakas\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/* updated to fix Chrome setTimeout issue by Zaid Zawaideh */\n\n // API available in <= v0.8\n /*******************************\n\n // idleTimer() takes an optional argument that defines the idle timeout\n // timeout is in milliseconds; defaults to 30000\n $.idleTimer(10000);\n\n\n $(document).bind(\"idle.idleTimer\", function(){\n // function you want to fire when the user goes idle\n });\n\n\n $(document).bind(\"active.idleTimer\", function(){\n // function you want to fire when the user becomes active again\n });\n\n // pass the string 'destroy' to stop the timer\n $.idleTimer('destroy');\n\n // you can query if the user is idle or not with data()\n $.data(document,'idleTimer'); // 'idle' or 'active'\n\n // you can get time elapsed since user when idle/active\n $.idleTimer('getElapsedTime'); // time since state change in ms\n\n ********/\n\n\n\n // API available in >= v0.9\n /*************************\n\n // bind to specific elements, allows for multiple timer instances\n $(elem).idleTimer(timeout|'destroy'|'getElapsedTime');\n $.data(elem,'idleTimer'); // 'idle' or 'active'\n\n // if you're using the old $.idleTimer api, you should not do $(document).idleTimer(...)\n\n // element bound timers will only watch for events inside of them.\n // you may just want page-level activity, in which case you may set up\n // your timers on document, document.documentElement, and document.body\n\n // You can optionally provide a second argument to override certain options.\n // Here are the defaults, so you can omit any or all of them.\n $(elem).idleTimer(timeout, {\n startImmediately: true, //starts a timeout as soon as the timer is set up; otherwise it waits for the first event.\n idle: false, //indicates if the user is idle\n enabled: true, //indicates if the idle timer is enabled\n events: 'mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove' // activity is one of these events\n });\n\n ********/\n\n(function($){\n\n$.idleTimer = function(newTimeout, elem, opts){\n\n // defaults that are to be stored as instance props on the elem\n\n\topts = $.extend({\n\t\tstartImmediately: true, //starts a timeout as soon as the timer is set up\n\t\tidle: false, //indicates if the user is idle\n\t\tenabled: true, //indicates if the idle timer is enabled\n\t\ttimeout: 30000, //the amount of time (ms) before the user is considered idle\n\t\tevents: 'mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove' // activity is one of these events\n\t}, opts);\n\n\n elem = elem || document;\n\n /* (intentionally not documented)\n * Toggles the idle state and fires an appropriate event.\n * @return {void}\n */\n var toggleIdleState = function(myelem){\n\n // curse you, mozilla setTimeout lateness bug!\n if (typeof myelem === 'number'){\n myelem = undefined;\n }\n\n var obj = $.data(myelem || elem,'idleTimerObj');\n\n //toggle the state\n obj.idle = !obj.idle;\n\n // reset timeout \n var elapsed = (+new Date()) - obj.olddate;\n obj.olddate = +new Date();\n\n // handle Chrome always triggering idle after js alert or comfirm popup\n if (obj.idle && (elapsed < opts.timeout)) {\n obj.idle = false;\n clearTimeout($.idleTimer.tId);\n if (opts.enabled)\n $.idleTimer.tId = setTimeout(toggleIdleState, opts.timeout);\n return;\n }\n \n //fire appropriate event\n\n // create a custom event, but first, store the new state on the element\n // and then append that string to a namespace\n var event = jQuery.Event( $.data(elem,'idleTimer', obj.idle ? \"idle\" : \"active\" ) + '.idleTimer' );\n\n // we do want this to bubble, at least as a temporary fix for jQuery 1.7\n // event.stopPropagation();\n $(elem).trigger(event);\n },\n\n /**\n * Stops the idle timer. This removes appropriate event handlers\n * and cancels any pending timeouts.\n * @return {void}\n * @method stop\n * @static\n */\n stop = function(elem){\n\n var obj = $.data(elem,'idleTimerObj') || {};\n\n //set to disabled\n obj.enabled = false;\n\n //clear any pending timeouts\n clearTimeout(obj.tId);\n\n //detach the event handlers\n $(elem).off('.idleTimer');\n },\n\n\n /* (intentionally not documented)\n * Handles a user event indicating that the user isn't idle.\n * @param {Event} event A DOM2-normalized event object.\n * @return {void}\n */\n handleUserEvent = function(){\n\n var obj = $.data(this,'idleTimerObj');\n\n //clear any existing timeout\n clearTimeout(obj.tId);\n\n\n\n //if the idle timer is enabled\n if (obj.enabled){\n\n\n //if it's idle, that means the user is no longer idle\n if (obj.idle){\n toggleIdleState(this);\n }\n\n //set a new timeout\n obj.tId = setTimeout(toggleIdleState, obj.timeout);\n\n }\n };\n\n\n /**\n * Starts the idle timer. This adds appropriate event handlers\n * and starts the first timeout.\n * @param {int} newTimeout (Optional) A new value for the timeout period in ms.\n * @return {void}\n * @method $.idleTimer\n * @static\n */\n\n\n var obj = $.data(elem,'idleTimerObj') || {};\n\n obj.olddate = obj.olddate || +new Date();\n\n //assign a new timeout if necessary\n if (typeof newTimeout === \"number\"){\n opts.timeout = newTimeout;\n } else if (newTimeout === 'destroy') {\n stop(elem);\n return this;\n } else if (newTimeout === 'getElapsedTime'){\n return (+new Date()) - obj.olddate;\n }\n\n //assign appropriate event handlers\n $(elem).on($.trim((opts.events+' ').split(' ').join('.idleTimer ')),handleUserEvent);\n\n\n obj.idle = opts.idle;\n obj.enabled = opts.enabled;\n obj.timeout = opts.timeout;\n\n\n //set a timeout to toggle state. May wish to omit this in some situations\n\tif (opts.startImmediately) {\n\t obj.tId = setTimeout(toggleIdleState, obj.timeout);\n\t}\n\n // assume the user is active for the first x seconds.\n $.data(elem,'idleTimer',\"active\");\n\n // store our instance on the object\n $.data(elem,'idleTimerObj',obj);\n\n\n\n}; // end of $.idleTimer()\n\n\n// v0.9 API for defining multiple timers.\n$.fn.idleTimer = function(newTimeout,opts){\n\t// Allow omission of opts for backward compatibility\n\tif (!opts) {\n\t\topts = {};\n\t}\n\n if(this[0]){\n $.idleTimer(newTimeout,this[0],opts);\n }\n\n return this;\n};\n\n\n})(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 = {\n lastPageUrl: currentPathname,\n isPtxBook: isPreTeXt(),\n };\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 let scp = document.querySelector(\"#scprogresscontainer\");\n if (scp) {\n scp.classList.add(\"ptx-runestone-container\");\n }\n $(\"#scprogresscontainer\").append(\n '
    \"\n );\n }\n });\n}\n\nfunction showLastPositionBanner() {\n var lastPositionVal = $.getUrlVar(\"lastPosition\");\n if (typeof lastPositionVal !== \"undefined\") {\n $(\"body\").append(\n ''\n );\n $(\"html, body\").animate({ scrollTop: parseInt(lastPositionVal) }, 1000);\n }\n}\n\nfunction addNavigationAndCompletionButtons() {\n if (\n window.location.href.match(\n /(index.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html|toctree.html)/\n )\n ) {\n return;\n }\n var navLinkBgRightHiddenPosition = -$(\"#navLinkBgRight\").outerWidth() - 5;\n var navLinkBgRightHalfOpen;\n var navLinkBgRightFullOpen = 0;\n\n if ($(\"#completionButton\").hasClass(\"buttonAskCompletion\")) {\n navLinkBgRightHalfOpen = navLinkBgRightHiddenPosition + 70;\n } else if ($(\"#completionButton\").hasClass(\"buttonConfirmCompletion\")) {\n navLinkBgRightHalfOpen = 0;\n }\n var relationsNextIconInitialPosition = $(\"#relations-next\").css(\"right\");\n var relationsNextIconNewPosition = -(navLinkBgRightHiddenPosition + 35);\n\n $(\"#navLinkBgRight\").css(\"right\", navLinkBgRightHiddenPosition).show();\n var navBgShown = false;\n $(window).scroll(function () {\n if (\n $(window).scrollTop() + $(window).height() ==\n $(document).height()\n ) {\n $(\"#navLinkBgRight\").animate(\n { right: navLinkBgRightHalfOpen },\n 200\n );\n $(\"#navLinkBgLeft\").animate({ left: \"0px\" }, 200);\n if ($(\"#completionButton\").hasClass(\"buttonConfirmCompletion\")) {\n $(\"#relations-next\").animate(\n { right: relationsNextIconNewPosition },\n 200\n );\n }\n navBgShown = true;\n } else if (navBgShown) {\n $(\"#navLinkBgRight\").animate(\n { right: navLinkBgRightHiddenPosition },\n 200\n );\n $(\"#navLinkBgLeft\").animate({ left: \"-65px\" }, 200);\n $(\"#relations-next\").animate({\n right: relationsNextIconInitialPosition,\n });\n navBgShown = false;\n }\n });\n\n var completionFlag = 0;\n if ($(\"#completionButton\").hasClass(\"buttonAskCompletion\")) {\n completionFlag = 0;\n } else {\n completionFlag = 1;\n }\n // Make sure we mark this page as visited regardless of how flakey\n // the onunload handlers become.\n processPageState(completionFlag, true, false, false);\n $(\"#completionButton\").on(\"click\", function () {\n var markingComplete = false;\n var markingIncomplete = false;\n if ($(this).hasClass(\"buttonAskCompletion\")) {\n $(this)\n .removeClass(\"buttonAskCompletion\")\n .addClass(\"buttonConfirmCompletion\")\n .html(\n \" Completed. Well Done!\"\n );\n $(\"#navLinkBgRight\").animate({ right: navLinkBgRightFullOpen });\n $(\"#relations-next\").animate({\n right: relationsNextIconNewPosition,\n });\n navLinkBgRightHalfOpen = 0;\n completionFlag = 1;\n markingComplete = true;\n } else if ($(this).hasClass(\"buttonConfirmCompletion\")) {\n $(this)\n .removeClass(\"buttonConfirmCompletion\")\n .addClass(\"buttonAskCompletion\")\n .html(\"Mark as Completed\");\n navLinkBgRightHalfOpen = navLinkBgRightHiddenPosition + 70;\n $(\"#navLinkBgRight\").animate({ right: navLinkBgRightHalfOpen });\n $(\"#relations-next\").animate({\n right: relationsNextIconInitialPosition,\n });\n completionFlag = 0;\n markingIncomplete = true;\n }\n processPageState(\n completionFlag,\n false,\n markingComplete,\n markingIncomplete\n );\n });\n\n // we cannot afford to do this at both load and unload especially as users\n // go from page to page. This just doubles the load. So, try without this one.\n // $(window).on(\"beforeunload\", function (e) {\n // if (completionFlag == 0) {\n // processPageState(completionFlag, false, false, false);\n // }\n // });\n}\n\n// _ decorateTableOfContents\n// -------------------------\nfunction decorateTableOfContents() {\n if (\n window.location.href.toLowerCase().indexOf(\"toc.html\") != -1 ||\n window.location.href.toLowerCase().indexOf(\"index.html\") != -1 ||\n window.location.href.toLowerCase().indexOf(\"frontmatter\") != -1\n ) {\n if (!isPreTeXt()) {\n jQuery.get(\n `${eBookConfig.new_server_prefix}/logger/getAllCompletionStatus`,\n function (data) {\n var subChapterList;\n if (data != \"None\") {\n subChapterList = data.detail;\n\n var allSubChapterURLs = $(\"#main-content div li a\");\n $.each(subChapterList, function (index, item) {\n for (var s = 0; s < allSubChapterURLs.length; s++) {\n if (\n allSubChapterURLs[s].href.indexOf(\n item.chapterName +\n \"/\" +\n item.subChapterName\n ) != -1\n ) {\n if (item.completionStatus == 1) {\n $(allSubChapterURLs[s].parentElement)\n .addClass(\"completed\")\n .append(\n '- Completed this topic on ' +\n item.endDate +\n \"\"\n )\n .children()\n .first()\n .hover(\n function () {\n $(this)\n .next(\n \".infoTextCompleted\"\n )\n .show();\n },\n function () {\n $(this)\n .next(\n \".infoTextCompleted\"\n )\n .hide();\n }\n );\n } else if (item.completionStatus == 0) {\n $(allSubChapterURLs[s].parentElement)\n .addClass(\"active\")\n .append(\n 'Last read this topic on ' +\n item.endDate +\n \"\"\n )\n .children()\n .first()\n .hover(\n function () {\n $(this)\n .next(\".infoTextActive\")\n .show();\n },\n function () {\n $(this)\n .next(\".infoTextActive\")\n .hide();\n }\n );\n }\n }\n }\n });\n }\n }\n );\n }\n var data = { course: eBookConfig.course };\n jQuery.get(\n `${eBookConfig.new_server_prefix}/logger/getlastpage`,\n data,\n function (data) {\n var lastPageData;\n if (data != \"None\") {\n lastPageData = data.detail;\n if (lastPageData.lastPageChapter != null) {\n $(\"#continue-reading\")\n .show()\n .html(\n '
    You were Last Reading: ' +\n lastPageData.lastPageChapter +\n (lastPageData.lastPageSubchapter\n ? \" > \" +\n lastPageData.lastPageSubchapter\n : \"\") +\n ' Continue Reading
    '\n );\n }\n }\n }\n );\n }\n}\n\nfunction enableCompletions() {\n getCompletions();\n showLastPositionBanner();\n addNavigationAndCompletionButtons();\n decorateTableOfContents();\n}\n\n// call enable user highlights after login\n$(document).on(\"runestone:login\", enableCompletions);\n\nfunction isPreTeXt() {\n let ptxMarker = document.querySelector(\"body.pretext\");\n if (ptxMarker) {\n return true;\n } else {\n return false;\n }\n}\n// _ processPageState\n// -------------------------\nfunction processPageState(\n completionFlag,\n pageLoad,\n markingComplete,\n markingIncomplete\n) {\n /*Log last page visited*/\n var currentPathname = window.location.pathname;\n if (currentPathname.indexOf(\"?\") !== -1) {\n currentPathname = currentPathname.substring(\n 0,\n currentPathname.lastIndexOf(\"?\")\n );\n }\n // Is this a ptx book?\n let isPtxBook = isPreTeXt();\n var data = {\n lastPageUrl: currentPathname,\n lastPageScrollLocation: Math.round($(window).scrollTop()),\n completionFlag: completionFlag,\n pageLoad: pageLoad,\n markingComplete: markingComplete,\n markingIncomplete: markingIncomplete,\n course: eBookConfig.course,\n isPtxBook: isPtxBook,\n };\n $(document).ajaxError(function (e, jqhxr, settings, exception) {\n console.log(\"Request Failed for \" + settings.url);\n console.log(e);\n });\n jQuery.ajax({\n url: `${eBookConfig.new_server_prefix}/logger/updatelastpage`,\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n data: JSON.stringify(data),\n method: \"POST\",\n async: true,\n });\n}\n\n$.extend({\n getUrlVars: function () {\n var vars = [],\n hash;\n var hashes = window.location.search\n .slice(window.location.search.indexOf(\"?\") + 1)\n .split(\"&\");\n for (var i = 0; i < hashes.length; i++) {\n hash = hashes[i].split(\"=\");\n vars.push(hash[0]);\n vars[hash[0]] = hash[1];\n }\n return vars;\n },\n getUrlVar: function (name) {\n return $.getUrlVars()[name];\n },\n});\n","/*\n Support functions for PreTeXt books running on Runestone\n\n*/\n\nimport RunestoneBase from \"./runestonebase.js\";\n\nfunction setupPTXEvents() {\n let rb = new RunestoneBase();\n // log an event when a knowl is opened.\n document.querySelectorAll(\"[data-knowl]\").forEach((el) => {\n el.addEventListener(\"click\", function () {\n let div_id = el.getAttribute(\"data-knowl\");\n rb.logBookEvent({ event: \"knowl\", act: \"click\", div_id: div_id });\n });\n });\n let born_hidden = document.querySelectorAll(\"details.born-hidden-knowl\");\n born_hidden.forEach((el) => {\n // log an event when a knowl is opened that was born hidden\n el.addEventListener(\"toggle\", function () {\n if (el.open) {\n let div_id = el.id;\n rb.logBookEvent({ event: \"knowl\", act: \"open\", div_id: div_id });\n }\n });\n });\n // log an event when a sage cell is evaluated\n document.querySelectorAll(\".sagecell_evalButton\").forEach((btn) => {\n btn.addEventListener(\"click\", function () {\n let container = btn.closest(\".ptx-sagecell\");\n let codeInput = container ? container.querySelector(\".sagecell_input\") : null;\n let code = codeInput ? codeInput.textContent : \"\";\n let div_id = container ? container.id : null;\n if (! div_id) {\n console.warn(\"Could not find container or div_id for sagecell button\");\n return;\n }\n\n rb.logBookEvent({ event: \"sage\", act: \"run\", div_id: div_id });\n });\n });\n if (typeof eBookConfig !== \"undefined\" && !eBookConfig.isInstructor) {\n document.querySelectorAll(\".commentary\").forEach((el) => {\n el.style.display = \"none\";\n });\n }\n}\n\nwindow.addEventListener(\"load\", function () {\n console.log(\"setting up pretext\");\n setupPTXEvents();\n let wrap = document.getElementById(\"primary-navbar-sticky-wrapper\");\n if (wrap) {\n wrap.style.overflow = \"visible\";\n }\n});\n","import RunestoneBase from \"../../common/js/runestonebase.js\";\n\nexport class SpliceWrapper extends RunestoneBase {\n constructor() {\n super();\n this.initSplice();\n }\n\n initSplice() {\n // SPLICE Events\n window.addEventListener(\"message\", async (event) => {\n \n var sourceIframe = this.sendingIframe(event);\n console.log(`SpliceWrapper: received message subject: ${event.data.subject} from iframe: ${sourceIframe ? sourceIframe.id : \"unknown\"}`);\n if (event.data.subject == \"SPLICE.reportScoreAndState\") {\n this.handleScoreAndState(event, sourceIframe);\n } else if (event.data.subject == \"SPLICE.sendEvent\") {\n this.handleSpliceEvent(event, sourceIframe);\n } else if (event.data.subject == \"SPLICE.getState\") {\n await this.handleGetState(event, sourceIframe);\n } else if (\n event.origin === \"https://www.myopenmath.com\" &&\n typeof event.data === \"string\" &&\n event.data.indexOf(\"lti.ext.imathas.result\") != -1\n ) {\n // proof of concept for My Open Math\n let msgdata = JSON.parse(event.data);\n let jwt = basicParseJwt(msgdata.jwt);\n console.log(\n \"Result received from frame \" +\n msgdata.frame_id +\n \" with score \" +\n jwt.score\n );\n // todo send score to server\n // does MOM have a way to get the state?\n // todo send state to server\n }\n });\n }\n\n getUniqueID(event, frame) {\n // Determine the unique identifier for this activity\n // The SPLICE protocol allows for two possibilities\n // 1. activity_id is the unique id as assigned by the provider\n // 2. activity_id is the iframe src url\n // if the activity_id is set there may also be another attribute called domain\n // On Runestone we will try to map the activity to the div_id of the enclosing RS component\n // if possible, otherwise we will use the activity_id or iframe src\n // If an interactive is included in an exercises this allows us to map the score\n // to the id the instructor used to assign the problem.\n if (frame) {\n let rsDiv = frame.closest(\"[data-component]\");\n if (rsDiv) {\n return rsDiv.id;\n }\n }\n let location = event.data.activity_id;\n if (!location) {\n if (frame) {\n location = frame.src;\n } else {\n location = \"unknown\";\n console.error(\n \"Could not find iframe that sent the SPLICE event\"\n );\n }\n }\n return location;\n }\n\n handleScoreAndState(event, frame) {\n console.log(\"Got SPLICE.reportScoreAndState\");\n console.log(event.data.activity_id);\n console.log(event.data.score);\n console.log(event.data.state);\n let location = this.getUniqueID(event, frame);\n this.logBookEvent({\n event: event.data.subject,\n div_id: location,\n act: `score: ${event.data.score}`,\n score: event.data.score,\n percent: event.data.score,\n correct: event.data.score == 1.0 ? true : false,\n answer: JSON.stringify(event.data.state),\n });\n }\n\n sendingIframe(event) {\n // determine the iframe that sent the event\n // you would think that event.source would be the iframe\n // but it is not and getting the location out of event.source\n // creates CORS issues.\n for (const f of document.getElementsByTagName(\"iframe\")) {\n if (f.contentWindow === event.source) return f;\n }\n return undefined;\n }\n\n async getSavedState(location) {\n // fetch the state from the server\n try {\n const response = await fetch(\"/ns/assessment/results\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n div_id: location,\n course: eBookConfig.course,\n event: \"SPLICE.getState\",\n }),\n });\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const data = await response.json();\n return data;\n } catch (error) {\n console.error(\"Error fetching SPLICE state:\", error);\n return null;\n }\n }\n\n async handleGetState(event, frame) {\n console.log(\"Got SPLICE.getState\");\n console.log(event.data.activity_id);\n console.log(event.data.state);\n // subject is SPLICE.getState.response\n let location = this.getUniqueID(event, frame);\n let res = await this.getSavedState(location);\n let state = res.detail.answer;\n event.source.postMessage(\n {\n message_id: event.data.message_id,\n subject: \"SPLICE.getState.response\",\n state: state,\n },\n \"*\"\n );\n }\n\n handleSpliceEvent(event, frame) {\n // handle generic SPLICE events, such as logged clicks\n // or other events. SPLICE does not require that we do\n // anything with them, but in keeping with our tradition\n // we will save them to the useinfo table in the database\n // in case they prove to be useful for research later\n console.log(\"Got SPLICE.sendEvent\");\n console.log(event.data.activity_id);\n console.log(event.data.name);\n //console.log(event.data.data);\n let location = this.getUniqueID(event, frame);\n this.logBookEvent({\n event: event.data.subject,\n div_id: location,\n act: event.data.name || \"unknown\",\n });\n }\n // these stubs are not implemented, but are required by the RunestoneBase class\n checkLocalStorage() {}\n setLocalStorage() {}\n restoreAnswers() {}\n disableInteraction() {}\n}\n\nfunction basicParseJwt(token) {\n var base64Url = token.split(\".\")[1];\n var base64 = base64Url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n var jsonPayload = decodeURIComponent(\n window\n .atob(base64)\n .split(\"\")\n .map(function (c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join(\"\")\n );\n return JSON.parse(jsonPayload);\n}\n","// ***********************************************************************************\n// |docname| - A framework allowing a Runestone component to load only the JS it needs\n// ***********************************************************************************\n// The JavaScript required by all Runestone components is quite large and results in slow page loads. This approach enables a Runestone component to load only the JavaScript it needs, rather than loading JavaScript for all the components regardless of which are actually used.\n//\n// To accomplish this, webpack's split-chunks ability analyzes all JS, starting from this file. The dynamic imports below are transformed by webpack into the dynamic fetches of just the JS required by each file and all its dependencies. (If using static imports, webpack will assume that all files are already statically loaded via script tags, defeating the purpose of this framework.)\n//\n// However, this approach leads to complexity:\n//\n// - The ``data-component`` attribute of each component must be kept in sync with the keys of the ``module_map`` below.\n// - The values in the ``module_map`` must be kept in sync with the JavaScript files which implement each of the components.\n\n// Static imports\n// ==============\n// These imports are (we assume) needed by all pages. However, it would be much better to load these in the modules that actually use them.\n//\n// These are static imports; code in `dynamically loaded components`_ deals with dynamic imports.\n//\n// jQuery-related imports.\nimport \"jquery-ui/jquery-ui.js\";\nimport \"jquery-ui/themes/base/jquery.ui.all.css\";\nimport \"./runestone/common/js/jquery.idle-timer.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.emitter.bidi.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.emitter.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.fallbacks.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.messagestore.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.parser.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.language.js\";\n\n// Bootstrap - not needed for pxx development\nimport \"bootstrap/dist/js/bootstrap.js\";\n\n// common styles come from here\nimport \"./ptxrs-bootstrap.less\";\nimport \"./runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-sphinx.js\";\n\n// Misc\nimport \"./runestone/common/js/bookfuncs.js\";\nimport \"./runestone/common/js/user-highlights.js\";\nimport \"./runestone/common/js/pretext.js\";\n\n// These belong in dynamic imports for the obvious component; however, these components don't include a ``data-component`` attribute.\nimport \"./runestone/matrixeq/css/matrixeq.css\";\nimport \"./runestone/webgldemo/css/webglinteractive.css\";\n\n// These are only needed for the Runestone book, but not in a library mode (such as pretext). I would prefer to dynamically load them. However, these scripts are so small I haven't bothered to do so.\nimport { getSwitch, switchTheme } from \"./runestone/common/js/theme.js\";\nimport \"./runestone/common/js/presenter_mode.js\";\nimport \"./runestone/common/css/presenter_mode.less\";\nimport { renderOneComponent } from \"./runestone/common/js/renderComponent.js\";\nimport RunestoneBase from \"./runestone/common/js/runestonebase.js\";\nimport { SpliceWrapper } from \"./runestone/splice/js/spliceWrapper.js\";\n\n// Dynamically loaded components\n// =============================\n// This provides a list of modules that components can dynamically import. Webpack will create a list of imports for each based on its analysis.\nconst module_map = {\n // Wrap each import in a function, so that it won't occur until the function is called. While something cleaner would be nice, webpack can't analyze things like ``import(expression)``.\n //\n // The keys must match the value of each component's ``data-component`` attribute -- the ``runestone_import`` and ``runestone_auto_import`` functions assume this.\n activecode: () => import(\"./runestone/activecode/js/acfactory.js\"),\n ble: () => import(\"./runestone/cellbotics/js/ble.js\"),\n // Always import the timed version of a component if available, since the timed components also define the component's factory and include the component as well. Note that ``acfactory`` imports the timed components of ActiveCode, so it follows this pattern.\n clickablearea: () =>\n import(\"./runestone/clickableArea/js/timedclickable.js\"),\n codelens: () => import(\"./runestone/codelens/js/codelens.js\"),\n datafile: () => import(\"./runestone/datafile/js/datafile.js\"),\n dragndrop: () => import(\"./runestone/dragndrop/js/timeddnd.js\"),\n fillintheblank: () => import(\"./runestone/fitb/js/timedfitb.js\"),\n groupsub: () => import(\"./runestone/groupsub/js/groupsub.js\"),\n khanex: () => import(\"./runestone/khanex/js/khanex.js\"),\n lp_build: () => import(\"./runestone/lp/js/lp.js\"),\n matching: () => import(\"./runestone/matching/js/matching.js\"),\n multiplechoice: () => import(\"./runestone/mchoice/js/timedmc.js\"),\n hparsons: () => import(\"./runestone/hparsons/js/hparsons.js\"),\n parsons: () => import(\"./runestone/parsons/js/timedparsons.js\"),\n poll: () => import(\"./runestone/poll/js/poll.js\"),\n quizly: () => import(\"./runestone/quizly/js/quizly.js\"),\n reveal: () => import(\"./runestone/reveal/js/reveal.js\"),\n selectquestion: () => import(\"./runestone/selectquestion/js/selectone.js\"),\n shortanswer: () =>\n import(\"./runestone/shortanswer/js/timed_shortanswer.js\"),\n showeval: () => import(\"./runestone/showeval/js/showEval.js\"),\n simple_sensor: () => import(\"./runestone/cellbotics/js/simple_sensor.js\"),\n spreadsheet: () => import(\"./runestone/spreadsheet/js/spreadsheet.js\"),\n tabbedStuff: () => import(\"./runestone/tabbedStuff/js/tabbedstuff.js\"),\n timedAssessment: () => import(\"./runestone/timed/js/timed.js\"),\n wavedrom: () => import(\"./runestone/wavedrom/js/wavedrom.js\"),\n // TODO: since this isn't in a ``data-component``, need to trigger an import of this code manually.\n webwork: () => import(\"./runestone/webwork/js/webwork.js\"),\n youtube: () => import(\"./runestone/video/js/runestonevideo.js\"),\n doenet: () => Promise.resolve(), // Doenet is loaded separately\n};\n\nconst module_map_cache = {};\nconst QUEUE_FLUSH_TIME_MS = 10;\nconst queue = [];\nlet queueLastFlush = 0;\n/**\n * Queue imports that are requested within `QUEUE_FLUSH_TIME_MS` of each other.\n * All such imports are imported at once, and then a promise is fired after all\n * the imports in the queue window have completed.\n */\nfunction queueImport(component_name) {\n let resolve = null;\n let reject = null;\n const retPromise = new Promise((r, rej) => {\n resolve = r;\n reject = rej;\n });\n const item = { component_name, resolve, reject };\n queue.push(item);\n window.setTimeout(flushQueue, QUEUE_FLUSH_TIME_MS + 1);\n\n return retPromise;\n}\nasync function flushQueue() {\n if (queue.length === 0) {\n return;\n }\n if (Date.now() - queueLastFlush < QUEUE_FLUSH_TIME_MS) {\n window.setTimeout(flushQueue, QUEUE_FLUSH_TIME_MS + 1);\n return;\n }\n // If we made it here, it has been at least QUEUE_FLUSH_TIME_MS since\n // the last time we flushed the queue. Therefore, we should start flushing.\n // We copy everything we flush and empty the array first.\n queueLastFlush = Date.now();\n const toFlush = [...queue];\n queue.length = 0;\n console.log(\n \"Webpack is starting the loading process for the following Runestone modules\",\n toFlush.map((item) => item.component_name)\n );\n const flushedPromise = toFlush.map(async (item) => {\n try {\n await module_map[item.component_name]();\n console.log(\n `Runestone component ${item.component_name} has been loaded`\n );\n return item;\n } catch (e) {\n item.reject(e);\n }\n });\n const flushed = await Promise.all(flushedPromise);\n try {\n flushed.forEach(function (item) {\n if (item) {\n item.resolve();\n }\n });\n } catch (e) {\n console.error(e);\n }\n}\n\n// .. _dynamic import machinery:\n//\n// Dynamic import machinery\n// ========================\n// Fulfill a promise when the Runestone pre-login complete event occurs.\nlet pre_login_complete_promise = new Promise((resolve) =>\n $(document).on(\"runestone:pre-login-complete\", resolve)\n);\nlet loadedComponents;\n// Provide a simple function to import the JS for all components on the page.\nexport function runestone_auto_import() {\n // Create a set of ``data-component`` values, to avoid duplication.\n const s = new Set(\n // All Runestone components have a ``data-component`` attribute.\n $(\"[data-component]\")\n .map(\n // Extract the value of the data-component attribute.\n (index, element) => $(element).attr(\"data-component\")\n // Switch from a jQuery object back to an array, passing that to the Set constructor.\n )\n .get()\n );\n // webwork questions are not wrapped in div with a data-component so we have to check a different way\n if (document.querySelector(\".webwork-button\")) {\n s.add(\"webwork\");\n }\n\n // Load JS for each of the components found.\n const a = [...s].map((value) => {\n let z;\n console.log(`Loading Runestone component: ${value}`);\n try {\n z = (module_map[value] || (() => Promise.resolve()))();\n } catch (e) {\n console.error(`Error loading ${value}:`, e);\n }\n z.error = (msg) => console.error(`Error in ${value}:`, msg);\n return z;\n });\n\n // Send the Runestone login complete event when all JS is loaded and the pre-login is also complete.\n Promise.all([pre_login_complete_promise, ...a]).then(function () {\n if (!document.body.dataset.reactInUse) {\n document.dispatchEvent(new CustomEvent(\"runestone:login-complete\"));\n }\n });\n}\n\npre_login_complete_promise.then(() => {\n console.log(\"Runestone pre-login complete\");\n});\n\n// Load component JS when the document is ready.\n$(document).ready(runestone_auto_import);\n\n// Provide a function to import one specific `Runestone` component.\n// the import function inside module_map is async -- runestone_import\n// should be awaited when necessary to ensure the import completes\nexport async function runestone_import(component_name) {\n if (module_map_cache[component_name]) {\n return module_map_cache[component_name];\n }\n console.log(\n `Runestone component ${component_name} is being queued for import`\n );\n const promise = queueImport(component_name);\n module_map_cache[component_name] = promise;\n return promise;\n}\n\nasync function popupScratchAC() {\n // load the activecode bundle\n await runestone_import(\"activecode\");\n // scratchDiv will be defined if we have already created a scratch\n // activecode. If its not defined then we need to get it ready to toggle\n if (!eBookConfig.scratchDiv) {\n window.ACFactory.createScratchActivecode();\n let divid = eBookConfig.scratchDiv;\n window.componentMap[divid] = ACFactory.createActiveCode(\n $(`#${divid}`)[0],\n eBookConfig.acDefaultLanguage\n );\n if (eBookConfig.isLoggedIn) {\n window.componentMap[divid].enableSaveLoad();\n }\n }\n setTimeout(() => {\n window.ACFactory.toggleScratchActivecode();\n }, 100);\n}\n\n// Set the directory containing this script as the `path `_ for all webpacked scripts.\nconst script_src = document.currentScript.src;\n__webpack_public_path__ = script_src.substring(\n 0,\n script_src.lastIndexOf(\"/\") + 1\n);\n\nvar splice = new SpliceWrapper();\n\n// Manual exports\n// ==============\n// Webpack's ``output.library`` setting doesn't seem to work with the split chunks plugin; do all exports manually through the ``window`` object instead.\n\nconst rc = {};\nrc.runestone_import = runestone_import;\nrc.runestone_auto_import = runestone_auto_import;\nrc.getSwitch = getSwitch;\nrc.switchTheme = switchTheme;\nrc.popupScratchAC = popupScratchAC;\nrc.renderOneComponent = renderOneComponent;\nwindow.componentMap = {};\nwindow.runestoneComponents = rc;\n","export function getSwitch() {\n const toggleSwitch = document.querySelector('.theme-switch input[type=\"checkbox\"]');\n const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null;\n\n if (currentTheme) {\n document.documentElement.setAttribute('data-theme', currentTheme);\n\n if (currentTheme === 'dark') {\n toggleSwitch.checked = true;\n }\n }\n}\n\nexport function switchTheme() {\n\n\tvar checkBox = document.getElementById(\"checkbox\");\n if (checkBox.checked == true) {\n document.documentElement.setAttribute('data-theme', 'dark');\n localStorage.setItem('theme', 'dark'); //add this\n }\n else {\n document.documentElement.setAttribute('data-theme', 'light');\n localStorage.setItem('theme', 'light'); //add this\n }\n}\n","/* ********************************\n * |docname| - Runestone Base Class\n * ********************************\n * All runestone components should inherit from RunestoneBase. In addition all runestone components should do the following things:\n *\n * 1. Ensure that they are wrapped in a div with the class runestone\n * 2. Write their source AND their generated html to the database if the database is configured\n * 3. Properly save and restore their answers using the checkServer mechanism in this base class. Each component must provide an implementation of:\n *\n * - checkLocalStorage\n * - setLocalStorage\n * - restoreAnswers\n * - disableInteraction\n *\n * 4. provide a Selenium based unit test\n */\n\nimport { pageProgressTracker } from \"./bookfuncs.js\";\n//import \"./../styles/runestone-custom-sphinx-bootstrap.css\";\n\nvar NO_DECORATE = [\"parsonsMove\", \"showeval\", \"video\", \"poll\", \"view_toggle\",\n \"dashboard\", \"selectquestion\", \"codelens\", \"peer\", \"shortanswer\"]\nexport default class RunestoneBase {\n constructor(opts) {\n this.component_ready_promise = new Promise(\n (resolve) => (this._component_ready_resolve_fn = resolve)\n );\n this.optional = false;\n if (typeof window.allComponents === \"undefined\") {\n window.allComponents = [];\n }\n window.allComponents.push(this);\n if (opts) {\n this.sid = opts.sid;\n this.graderactive = opts.graderactive;\n this.showfeedback = true;\n if (opts.timed) {\n this.isTimed = true;\n }\n if (opts.enforceDeadline) {\n this.deadline = opts.deadline;\n }\n this.optional = this.parseBooleanAttribute(opts.orig, \"data-optional\");\n if (opts.selector_id) {\n this.selector_id = opts.selector_id;\n }\n if (typeof opts.assessmentTaken !== \"undefined\") {\n this.assessmentTaken = opts.assessmentTaken;\n } else {\n // default to true as this opt is only provided from a timedAssessment\n this.assessmentTaken = true;\n }\n // This is for the selectquestion points\n // If a selectquestion is part of a timed exam it will get\n // the timedWrapper options.\n if (typeof opts.timedWrapper !== \"undefined\") {\n this.timedWrapper = opts.timedWrapper;\n } else {\n // However sometimes selectquestions\n // are used in regular assignments. The hacky way to detect this\n // is to look for doAssignment in the URL and then grab\n // the assignment name from the heading.\n if (location.href.indexOf(\"doAssignment\") >= 0) {\n this.timedWrapper = $(\"h1#assignment_name\").text();\n } else {\n this.timedWrapper = null;\n }\n }\n if ($(opts.orig).data(\"question_label\")) {\n this.question_label = $(opts.orig).data(\"question_label\");\n }\n this.is_toggle = true ? opts.is_toggle : false;\n this.is_select = true ? opts.is_select : false;\n }\n this.mjelements = [];\n let self = this;\n this.mjReady = new Promise(function (resolve, reject) {\n self.mjresolver = resolve;\n });\n this.aQueue = new AutoQueue();\n if (opts && typeof opts.preamble !== \"undefined\") {\n this.preamble = opts.preamble;\n let y = document.createElement(\"div\");\n y.classList.add(\"hidden-content\");\n y.classList.add(\"process-math\");\n y.innerHTML = \"\\\\(\" + this.preamble + \"\\\\)\";\n // This is a hack to get the preamble into the DOM so that MathJax can process it.\n opts.orig.appendChild(y);\n y.id = \"ltx_preamble\";\n y.style.display = \"none\";\n // Add the preamble to the queue object so it can prepend it to\n // future MathJax processing\n this.aQueue.preamble = y\n }\n\n this.jsonHeaders = new Headers({\n \"Content-type\": \"application/json; charset=utf-8\",\n Accept: \"application/json\",\n });\n }\n\n // Helper for parsing boolean data-* attributes\n // Unset/\"false\"/\"no\" means false, anything else, including empty string means true\n parseBooleanAttribute(element, attributeName) {\n const attrValue = element.getAttribute(attributeName);\n if (attrValue === null) {\n return false;\n }\n const lowerValue = attrValue.toLowerCase();\n if (lowerValue === \"false\" || lowerValue === \"no\") {\n return false;\n }\n return true;\n }\n\n // _`logBookEvent`\n //----------------\n // This function sends the provided ``eventInfo`` to the `hsblog endpoint` of the server. Awaiting this function returns either ``undefined`` (if Runestone services are not available) or the data returned by the server as a JavaScript object (already JSON-decoded).\n async logBookEvent(eventInfo) {\n if (this.graderactive) {\n return;\n }\n let post_return;\n eventInfo.course_name = eBookConfig.course;\n eventInfo.clientLoginStatus = eBookConfig.isLoggedIn;\n eventInfo.timezoneoffset = new Date().getTimezoneOffset() / 60;\n // For selectquestions we need to log using the selector_id for real time scoring\n if (this.selector_id) {\n eventInfo.selector_id = this.selector_id;\n }\n if (typeof this.percent === \"number\") {\n eventInfo.percent = this.percent;\n }\n if (window.assignmentId) {\n eventInfo.assignment_id = window.assignmentId;\n }\n if (\n eBookConfig.isLoggedIn &&\n eBookConfig.useRunestoneServices &&\n eBookConfig.logLevel > 0\n ) {\n post_return = this.postLogMessage(eventInfo);\n }\n if (!this.isTimed || eBookConfig.debug) {\n let prefix = eBookConfig.isLoggedIn ? \"Save\" : \"Not\";\n console.log(`${prefix} logging event ` + JSON.stringify(eventInfo));\n }\n // When selectquestions are part of an assignment especially toggle questions\n // we need to count using the selector_id of the select question.\n // We also need to log an event for that selector so that we will know\n // that interaction has taken place. This is **independent** of how the\n // autograder will ultimately grade the question!\n if (this.selector_id) {\n eventInfo.div_id = this.selector_id.replace(\n \"-toggleSelectedQuestion\",\n \"\"\n );\n eventInfo.event = \"selectquestion\";\n eventInfo.act = \"interaction\";\n this.postLogMessage(eventInfo);\n }\n if (\n typeof pageProgressTracker.updateProgress === \"function\" &&\n eventInfo.act != \"edit\" &&\n this.optional == false\n ) {\n pageProgressTracker.updateProgress(eventInfo.div_id);\n }\n // if the event is in the NO_DECORATE list then don't decorate the status\n if (NO_DECORATE.indexOf(eventInfo.event) === -1) {\n this.decorateStatus();\n }\n return post_return;\n }\n\n async postLogMessage(eventInfo) {\n var post_return;\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/bookevent`,\n {\n method: \"POST\",\n headers: this.jsonHeaders,\n body: JSON.stringify(eventInfo),\n }\n );\n try {\n var response = await fetch(request);\n if (!response.ok) {\n if (response.status === 422) {\n // Get details about why this is unprocesable.\n post_return = await response.json();\n console.log(JSON.stringify(post_return.detail, null, 4));\n throw new Error(\"Unprocessable Request\");\n } else if (response.status == 401) {\n post_return = await response.json();\n console.log(\n `Missing authentication token ${post_return.detail}`\n );\n throw new Error(\"Missing authentication token\");\n }\n throw new Error(`Failed to save the log entry\n Status: ${response.status}`);\n }\n post_return = await response.json();\n let scoreSpec = post_return.detail;\n let gradeBox = null;\n if (this.selector_id) {\n let selector_id = this.selector_id.replace(\n \"-toggleSelectedQuestion\",\n \"\"\n );\n gradeBox = document.getElementById(`${selector_id}_score`);\n } else {\n gradeBox = document.getElementById(`${this.divid}_score`);\n }\n if (gradeBox && !this.isTimed && scoreSpec.score) {\n this.updateScores(gradeBox, scoreSpec);\n }\n } catch (e) {\n let detail = \"none\";\n if (post_return && post_return.detail) {\n detail = post_return.detail;\n }\n if (eBookConfig.useRunestoneServices) {\n alert(`Error: Your action was not saved!\n The error was ${e}\n Status Code: ${response.status}\n Detail: ${JSON.stringify(detail, null, 4)}.\n Please report this error!`);\n }\n // send a request to save this error\n console.log(\n `Error: ${e} Detail: ${detail} Status Code: ${response.status}`\n );\n }\n return post_return;\n }\n // update the score for the question and the total score\n // the presence of the gradeBox is used to determine if we are on an assignment page.\n updateScores(gradeBox, scoreSpec) {\n if (!scoreSpec.assigned || scoreSpec.score === null) {\n document.getElementById(`${this.divid}_message`).innerHTML = \"Score not updated. Submissions are closed.\";\n return;\n }\n let scoreSpan = gradeBox.getElementsByClassName(\"qscore\")[0];\n if (scoreSpan) {\n scoreSpan.innerHTML = scoreSpec.score.toFixed(1);\n }\n let allScores = document.getElementsByClassName(\"qscore\");\n let allmax = document.getElementsByClassName(\"qmaxscore\");\n let total = 0;\n let max = 0;\n for (let i = 0; i < allScores.length; i++) {\n total += parseFloat(allScores[i].innerHTML);\n max += parseFloat(allmax[i].innerHTML);\n }\n let totalSpan = document.getElementById(\"total_score\");\n if (totalSpan) {\n totalSpan.innerHTML = total.toFixed(1);\n }\n let maxSpan = document.getElementById(\"total_max\");\n if (maxSpan) {\n maxSpan.innerHTML = max;\n }\n let percentSpan = document.getElementById(\"total_percent\");\n if (percentSpan) {\n percentSpan.innerHTML = ((total / max) * 100).toFixed(2);\n }\n }\n\n // .. _logRunEvent:\n //\n // logRunEvent\n // -----------\n // This function sends the provided ``eventInfo`` to the `runlog endpoint`. When awaited, this function returns the data (decoded from JSON) the server sent back.\n async logRunEvent(eventInfo) {\n let post_promise = \"done\";\n if (this.graderactive) {\n return;\n }\n eventInfo.course = eBookConfig.course;\n eventInfo.clientLoginStatus = eBookConfig.isLoggedIn;\n eventInfo.timezoneoffset = new Date().getTimezoneOffset() / 60;\n if (this.forceSave || \"to_save\" in eventInfo === false) {\n eventInfo.save_code = \"True\";\n }\n if (typeof eventInfo.errinfo !== \"undefined\") {\n eventInfo.errinfo = eventInfo.errinfo.toString();\n }\n if (\n eBookConfig.isLoggedIn &&\n eBookConfig.useRunestoneServices &&\n eBookConfig.logLevel > 0\n ) {\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/runlog`,\n {\n method: \"POST\",\n headers: this.jsonHeaders,\n body: JSON.stringify(eventInfo),\n }\n );\n let response = await fetch(request);\n if (!response.ok) {\n post_promise = await response.json();\n if (eBookConfig.useRunestoneServices) {\n alert(`Failed to save your code\n Status is ${response.status}\n Detail: ${JSON.stringify(\n post_promise.detail,\n null,\n 4\n )}`);\n } else {\n console.log(\n `Did not save the code.\n Status: ${response.status}\n Detail: ${JSON.stringify(\n post_promise.detail,\n null,\n 4\n )}`\n );\n }\n } else {\n post_promise = await response.json();\n }\n }\n if (!this.isTimed || eBookConfig.debug) {\n console.log(\"running \" + JSON.stringify(eventInfo));\n }\n if (\n typeof pageProgressTracker.updateProgress === \"function\" &&\n this.optional == false\n ) {\n pageProgressTracker.updateProgress(eventInfo.div_id);\n }\n return post_promise;\n }\n /* Checking/loading from storage\n **WARNING:** DO NOT `await` this function!\n This function, although async, does not explicitly resolve its promise by returning a value. The reason for this is because it is called by the constructor for nearly every component. In Javascript constructors cannot be async!\n\n One of the recommended ways to handle the async requirements from within a constructor is to use an attribute as a promise and resolve that attribute at the appropriate time.\n */\n async checkServer(\n // A string specifying the event name to use for querying the :ref:`getAssessResults` endpoint.\n eventInfo,\n // If true, this function will invoke ``indicate_component_ready()`` just before it returns. This is provided since most components are ready after this function completes its work.\n //\n // TODO: This defaults to false, to avoid causing problems with any components that haven't been updated and tested. After all Runestone components have been updated, default this to true and remove the extra parameter from most calls to this function.\n will_be_ready = false\n ) {\n // Check if the server has stored answer\n let self = this;\n this.checkServerComplete = new Promise(function (resolve, reject) {\n self.csresolver = resolve;\n });\n if (\n eBookConfig.isLoggedIn &&\n (this.useRunestoneServices || this.graderactive)\n ) {\n let data = {};\n data.div_id = this.divid;\n data.course = eBookConfig.course;\n data.event = eventInfo;\n if (this.graderactive && this.deadline) {\n data.deadline = this.deadline;\n data.rawdeadline = this.rawdeadline;\n data.tzoff = this.tzoff;\n }\n if (this.sid) {\n data.sid = this.sid;\n }\n if (!(data.div_id && data.course && data.event)) {\n console.log(\n `A required field is missing data ${data.div_id}:${data.course}:${data.event}`\n );\n }\n // If we are NOT in practice mode and we are not in a peer exercise\n // and assessmentTaken is true\n if (\n !eBookConfig.practice_mode &&\n !eBookConfig.peer &&\n this.assessmentTaken\n ) {\n let request = new Request(\n `${eBookConfig.new_server_prefix}/assessment/results`,\n {\n method: \"POST\",\n body: JSON.stringify(data),\n headers: this.jsonHeaders,\n }\n );\n try {\n let response = await fetch(request);\n console.log(`Response from server: ${response.status}`);\n if (response.ok) {\n data = await response.json();\n data = data.detail;\n console.log(`Data from server: ${JSON.stringify(data)} calling repopulateFromStorage`);\n this.repopulateFromStorage(data);\n this.attempted = true;\n if (typeof data.correct !== \"undefined\") {\n this.correct = data.correct;\n } else {\n this.correct = null;\n }\n console.log(`resolving checkServer with server data`);\n this.csresolver(\"server\");\n } else {\n console.log(\n `HTTP Error getting results: ${response.statusText}`\n );\n this.checkLocalStorage(); // just go right to local storage\n console.log(`resolving checkServer with local data`);\n this.csresolver(\"local\");\n }\n } catch (err) {\n console.log(`Error getting results: ${err}`);\n try {\n this.checkLocalStorage();\n } catch (err) {\n console.log(err);\n }\n }\n } else {\n this.loadData({});\n console.log(`resolving checkServer no answer given`);\n this.csresolver(\"not taken\");\n }\n } else {\n this.checkLocalStorage(); // just go right to local storage\n console.log(`resolving checkServer with local data`);\n this.csresolver(\"local\");\n }\n\n if (will_be_ready) {\n this.indicate_component_ready();\n }\n }\n\n // This method assumes that ``this.componentDiv`` refers to the ``div`` containing the component, and that this component's ID is set.\n indicate_component_ready() {\n // Add a class to indicate the component is now ready.\n this.containerDiv.classList.add(\"runestone-component-ready\");\n // Resolve the ``this.component_ready_promise``.\n this._component_ready_resolve_fn();\n }\n\n loadData(data) {\n // for most classes, loadData doesn't do anything. But for Parsons, and perhaps others in the future,\n // initialization can happen even when there's no history to be loaded\n return null;\n }\n\n /**\n * repopulateFromStorage is called after a successful API call is made to ``getAssessResults`` in\n * the checkServer method in this class\n *\n * ``restoreAnswers,`` ``setLocalStorage`` and ``checkLocalStorage`` are defined in the child classes.\n *\n * @param {*} data - a JSON object representing the data needed to restore a previous answer for a component\n * @param {*} status - the http status\n * @param {*} whatever - ignored\n */\n repopulateFromStorage(data) {\n // decide whether to use the server's answer (if there is one) or to load from storage\n if (data !== null && data !== \"no data\" && this.shouldUseServer(data)) {\n this.restoreAnswers(data);\n this.setLocalStorage(data);\n } else {\n this.checkLocalStorage();\n }\n this.decorateStatus();\n }\n shouldUseServer(data) {\n // returns true if server data is more recent than local storage or if server storage is correct\n if (\n data.correct === \"T\" ||\n data.correct === true ||\n localStorage.length === 0 ||\n this.graderactive === true ||\n this.isTimed\n ) {\n return true;\n }\n let ex = localStorage.getItem(this.localStorageKey());\n if (ex === null) {\n return true;\n }\n let storedData;\n try {\n storedData = JSON.parse(ex);\n } catch (err) {\n // error while parsing; likely due to bad value stored in storage\n console.log(err.message);\n localStorage.removeItem(this.localStorageKey());\n // definitely don't want to use local storage here\n return true;\n }\n if (data.answer == storedData.answer) return true;\n let storageDate = new Date(storedData.timestamp);\n let serverDate = new Date(data.timestamp);\n return serverDate >= storageDate;\n }\n // Return the key which to be used when accessing local storage.\n localStorageKey() {\n return (\n eBookConfig.email +\n \":\" +\n eBookConfig.course +\n \":\" +\n this.divid +\n \"-given\"\n );\n }\n addCaption(elType) {\n //someElement.parentNode.insertBefore(newElement, someElement.nextSibling);\n if (!this.isTimed) {\n var capDiv = document.createElement(\"p\");\n if (this.question_label) {\n // Display caption based on whether Runestone services have been detected\n this.caption = eBookConfig.useRunestoneServices\n ? `Activity: ${this.question_label} ${this.caption} (${this.divid})`\n : `Activity: ${this.question_label} ${this.caption}`; // Without runestone\n $(capDiv).html(this.caption);\n $(capDiv).addClass(`${elType}_caption`);\n } else {\n // Display caption based on whether Runestone services have been detected\n $(capDiv).html(\n eBookConfig.useRunestoneServices\n ? this.caption + \" (\" + this.divid + \")\"\n : this.caption\n ); // Without runestone\n $(capDiv).addClass(`${elType}_caption`);\n $(capDiv).addClass(`${elType}_caption_text`);\n }\n this.capDiv = capDiv;\n //this.outerDiv.parentNode.insertBefore(capDiv, this.outerDiv.nextSibling);\n this.containerDiv.appendChild(capDiv);\n }\n }\n\n hasUserActivity() {\n return this.isAnswered;\n }\n\n checkCurrentAnswer() {\n console.log(\n \"Each component should provide an implementation of checkCurrentAnswer\"\n );\n }\n\n async logCurrentAnswer() {\n console.log(\n \"Each component should provide an implementation of logCurrentAnswer\"\n );\n }\n renderFeedback() {\n console.log(\n \"Each component should provide an implementation of renderFeedback\"\n );\n }\n disableInteraction() {\n console.log(\n \"Each component should provide an implementation of disableInteraction\"\n );\n }\n\n toString() {\n return `${this.constructor.name}: ${this.divid}`;\n }\n\n queueMathJax(component) {\n if (typeof MathJax === \"undefined\") {\n console.log(\"Error -- MathJax is not loaded\");\n return Promise.resolve(null);\n } else {\n // See - https://docs.mathjax.org/en/latest/advanced/typeset.html\n // Per the above we should keep track of the promises and only call this\n // a second time if all previous promises have resolved.\n // Create a queue of components\n // should wait until defaultPageReady is defined\n // If defaultPageReady is not defined then just enqueue the components.\n // Once defaultPageReady is defined\n // the window.runestoneMathReady promise will be fulfilled when the\n // initial typesetting is complete.\n if (MathJax.typesetPromise) {\n if (typeof window.runestoneMathReady !== \"undefined\") {\n return window.runestoneMathReady.then(() =>\n this.mjresolver(this.aQueue.enqueue(component))\n );\n } else {\n return this.mjresolver(this.aQueue.enqueue(component));\n }\n } else {\n console.log(`Waiting on MathJax!! ${MathJax.typesetPromise}`);\n setTimeout(() => this.queueMathJax(component), 200);\n console.log(`Returning mjready promise: ${this.mjReady}`);\n return this.mjReady;\n }\n }\n }\n\n decorateStatus() {\n if (this.isTimed || eBookConfig.peer) return;\n let rsDiv = $(this.containerDiv).closest(\"div.runestone\")[0];\n if (!rsDiv) return;\n rsDiv.classList.remove(\"notAnswered\");\n rsDiv.classList.remove(\"isInCorrect\");\n rsDiv.classList.remove(\"isCorrect\");\n if (this.correct) {\n rsDiv.classList.add(\"isCorrect\");\n } else {\n if (this.correct === null || typeof this.correct === \"undefined\") {\n rsDiv.classList.add(\"notAnswered\");\n } else {\n rsDiv.classList.add(\"isInCorrect\");\n }\n }\n }\n}\n\n// Inspiration and lots of code for this solution come from\n// https://stackoverflow.com/questions/53540348/js-async-await-tasks-queue\n// The idea here is that until MathJax is ready we can just enqueue things\n// once mathjax becomes ready then we can drain the queue and continue as usual.\n\nclass Queue {\n constructor() {\n this._items = [];\n }\n enqueue(item) {\n this._items.push(item);\n }\n dequeue() {\n return this._items.shift();\n }\n get size() {\n return this._items.length;\n }\n}\n\nclass AutoQueue extends Queue {\n constructor() {\n super();\n this._pendingPromise = false;\n }\n\n enqueue(component) {\n return new Promise((resolve, reject) => {\n super.enqueue({ component, resolve, reject });\n this.dequeue();\n });\n }\n\n async dequeue() {\n if (this._pendingPromise) return false;\n\n let item = super.dequeue();\n\n if (!item) return false;\n let qq = this;\n try {\n this._pendingPromise = true;\n\n let payload = await window.runestoneMathReady\n .then(async function () {\n console.log(\n `MathJax Ready -- dequeing a typesetting run for ${item.component.id} ${qq.preamble?.innerHTML}`\n );\n if (qq.preamble) {\n await MathJax.typesetPromise([qq.preamble])\n // Use insertAdjacentElement to preserve existing DOM elements and event listeners\n // instead of overwriting innerHTML which destroys event handlers\n let preambleDiv = document.createElement(\"div\");\n preambleDiv.innerHTML = qq.preamble.innerHTML;\n item.component.insertAdjacentElement(\"afterbegin\", preambleDiv);\n console.log(\n `MathJax typeset the preamble for ${item.component.id}`\n );\n return await MathJax.typesetPromise([item.component]);\n } else {\n return await MathJax.typesetPromise([item.component]);\n }\n });\n\n this._pendingPromise = false;\n item.resolve(payload);\n } catch (e) {\n this._pendingPromise = false;\n item.reject(e);\n } finally {\n // If there are more items in the queue, continue processing them\n this.dequeue();\n }\n\n return true;\n }\n}\n\nwindow.RunestoneBase = RunestoneBase;\n","/**\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 .\n\n */\n\n//\n// Page decoration functions\n//\n/*\nMaybe something like this at the top:\n\nActive assignment: [Ch 15 reading] [Exit assignment link]\nOn page (3 of 7) [Select input showing current page, can select others] \nBecoming this if not on a page in assignment\n\nActive assignment: [Ch 15 reading] [Exit assignment link]\nThis page is not part of that assignment. Select a page to return to it:\n[Select input]\n*/\nfunction addReadingList() {\n let assignment_info_string = localStorage.getItem(\"currentAssignmentInfo\")\n \n if (assignment_info_string && eBookConfig.readings) {\n var top,bottom,active,page_name,exit_link,fst,snd, new_pos, path_parts, new_pos_link;\n let assignment_info = JSON.parse(assignment_info_string);\n let assignment_id = assignment_info.id;\n let assignment_name = assignment_info.name;\n let reading_names = assignment_info.readingNames;\n\n active = document.createElement(\"div\");\n active.textContent = \"Active assignment: \"\n\n page_name = document.createElement(\"a\");\n page_name.textContent = assignment_name;\n page_name.href = `/assignment/student/doAssignment?assignment_id=${assignment_id}`;\n \n active.append(page_name);\n\n exit_link = document.createElement(\"a\");\n exit_link.textContent = \"Exit Assignment\";\n exit_link.href=window.location.pathname;\n\n exit_link.addEventListener('click',function(event) {\n localStorage.removeItem(\"currentAssignmentInfo\");\n });\n\n //active.append(exit_link)\n\n let cur_path_parts = window.location.pathname.split(\"/\");\n let name =\n cur_path_parts[cur_path_parts.length - 2] +\n \"/\" +\n cur_path_parts[cur_path_parts.length - 1];\n // if body has pretext class, then strip the leading path parts from each of the strings in eBookConfig.readings\n let body = document.getElementsByTagName(\"body\")[0];\n let ptxbook = false;\n let endLop = 2;\n if (body.classList.contains(\"pretext\")) {\n ptxbook = true;\n eBookConfig.readings = eBookConfig.readings.map(r => r.split(\"/\").pop());\n name = name.split(\"/\").pop();\n endLop = 1;\n }\n\n let position = eBookConfig.readings.indexOf(name);\n let num_readings = eBookConfig.readings.length;\n // get prev name\n if (position > 0) {\n new_pos = eBookConfig.readings[position - 1];\n path_parts = cur_path_parts.slice(0, cur_path_parts.length - endLop);\n path_parts.push(new_pos);\n new_pos_link = path_parts.join(\"/\");\n fst = active.cloneNode(true);\n let txt = document.createElement(\"p\");\n txt.textContent = `Page ${position + 1} of ${num_readings}, `;\n var fst_lnk = document.createElement(\"a\");\n //fst_lnk.className = \"btn btn-lg reading-navigation prev-reading\";\n fst_lnk.href = new_pos_link;\n fst_lnk.textContent = `Back to page ${\n position\n } of ${num_readings}: ${reading_names[position-1]}.`;\n txt.append(fst_lnk);\n fst.append(txt);\n \n } else if (position == 0){\n fst = active.cloneNode(true);\n let txt = document.createElement(\"p\");\n txt.textContent = `Page 1 of ${num_readings}.`;\n fst.append(txt);\n } else {\n new_pos = eBookConfig.readings[0];\n path_parts = cur_path_parts.slice(0, cur_path_parts.length - endLop);\n path_parts.push(new_pos);\n new_pos_link = path_parts.join(\"/\");\n fst = active.cloneNode(true);\n let txt = document.createElement(\"p\");\n txt.textContent = \"Notice: this page is not part of the assignment. To remove this warning click \";\n txt.append(exit_link);\n fst.append(txt);\n }\n if (position == eBookConfig.readings.length - 1) {\n // no more readings\n snd = active;\n let txt = document.createElement(\"p\");\n txt.textContent = `Page ${num_readings} of ${num_readings}: ${reading_names[position]}`;\n snd.append(txt);\n } else if (position >= 0) {\n // get next name\n new_pos = eBookConfig.readings[position + 1];\n path_parts = cur_path_parts.slice(0, cur_path_parts.length - endLop);\n path_parts.push(new_pos);\n new_pos_link = path_parts.join(\"/\");\n snd = active;\n var snd_lnk = document.createElement(\"a\");\n //snd_lnk.className = \"btn btn-lg reading-navigation next-reading\";\n snd_lnk.href = new_pos_link;\n snd_lnk.textContent = `Continue to page ${\n position + 2\n } of ${num_readings}: ${reading_names[position+1]}`;\n let txt = document.createElement(\"p\");\n txt.append(snd_lnk);\n snd.append(txt);\n \n } else {\n snd = active.cloneNode(true);\n let txt = document.createElement(\"p\");\n txt.textContent = \"Notice: this page is not part of the assignment. To remove this warning click \";\n let exit_clone = exit_link.cloneNode(true);\n\n exit_clone.addEventListener('click',function(event) {\n localStorage.removeItem(\"currentAssignmentInfo\");\n });\n txt.append(exit_clone);\n snd.append(txt);\n \n\n }\n\n top = document.createElement(\"div\");\n top.className = \"ptx-runestone-container\"\n fst.className = \"runestone assignment-nav top-assignment-nav\"\n //top.style.backgroundColor = \"var(--componentBgColor)\"\n //top.style.borderColor = \"var(--componentBorderColor)\"\n //top.style.borderWidth = \"1px\"\n top.append(fst);\n //top.append(snd);\n\n bottom = document.createElement(\"div\");\n bottom.className = \"ptx-runestone-container\"\n snd.className = \"runestone assignment-nav bottom-assignment-nav\"\n //bottom.style.backgroundColor = \"var(--componentBgColor)\"\n //bottom.style.borderColor = \"var(--componentBorderColor)\"\n //bottom.style.borderWidth = \"1px\"\n \n //bottom.append(active.cloneNode(true));\n //bottom.append(fst.cloneNode(true));\n bottom.append(snd);\n\n\n // check the body tag to see if it has a pretext class (no jquery)\n if (ptxbook) {\n //append parts to the header and progress container\n let content = document.getElementById(\"ptx-content\");\n if (content) {\n content.insertBefore(top, content.firstChild);\n }\n let pc = document.getElementById(\"scprogresscontainer\");\n if (pc) {\n pc.style.marginBottom = \"20px\";\n pc.appendChild(bottom);\n }\n return;\n }\n const mainContent = document.getElementById(\"main-content\");\n if (mainContent && snd) {\n mainContent.insertBefore(top,mainContent.firstChild)\n mainContent.appendChild(bottom);\n \n }\n }\n}\n\nfunction timedRefresh() {\n var timeoutPeriod = 900000; // 75 minutes\n let idleTimeoutId;\n\n function onIdle() {\n // After timeout period send the user back to the index. This will force a login\n // if needed when they want to go to a particular page. This may not be perfect\n // but its an easy way to make sure laptop users are properly logged in when they\n // take quizzes and save stuff.\n if (location.href.indexOf(\"index.html\") < 0) {\n console.log(\"Idle timer - \" + location.pathname);\n location.href =\n eBookConfig.app +\n \"/default/user/login?_next=\" +\n location.pathname +\n location.search;\n }\n }\n\n function resetIdleTimer() {\n if (idleTimeoutId) {\n clearTimeout(idleTimeoutId);\n }\n idleTimeoutId = setTimeout(onIdle, timeoutPeriod);\n }\n\n [\"mousemove\", \"keydown\", \"scroll\", \"click\", \"touchstart\", \"wheel\"].forEach(\n (eventName) => {\n window.addEventListener(eventName, resetIdleTimer, { passive: true });\n },\n );\n\n resetIdleTimer();\n}\n\nclass PageProgressBar {\n constructor(actDict) {\n this.possible = 0;\n this.total = 1;\n if (actDict && \"assignment_spec\" in actDict) {\n this.assignment_spec = actDict.assignment_spec;\n delete actDict.assignment_spec;\n }\n if (actDict && Object.keys(actDict).length > 0) {\n this.activities = actDict;\n } else {\n let activities = { page: 0 };\n document.querySelectorAll(\".runestone\").forEach(function (e) {\n activities[e.firstElementChild.id] = 0;\n });\n this.activities = activities;\n }\n this.calculateProgress();\n // Hide the progress bar on the index page.\n if (\n window.location.pathname.match(\n /.*\\/(index.html|toctree.html|Exercises.html|search.html)$/i,\n )\n ) {\n const scprogresscontainer = document.getElementById(\n \"scprogresscontainer\",\n );\n if (scprogresscontainer) scprogresscontainer.style.display = \"none\";\n }\n this.renderProgress();\n }\n\n calculateProgress() {\n for (let k in this.activities) {\n if (k !== undefined) {\n this.possible++;\n if (this.activities[k] > 0) {\n this.total++;\n }\n }\n }\n }\n\n renderProgress() {\n let value = 0;\n const scprogresstotal = document.getElementById(\"scprogresstotal\");\n if (scprogresstotal) scprogresstotal.textContent = this.total;\n const scprogressposs = document.getElementById(\"scprogressposs\");\n if (scprogressposs) scprogressposs.textContent = this.possible;\n try {\n value = (100 * this.total) / this.possible;\n } catch (e) {\n value = 0;\n }\n // Replace #subchapterprogress div with a native element if not already done\n let subchapterprogress = document.getElementById(\"subchapterprogress\");\n if (subchapterprogress && subchapterprogress.tagName !== \"PROGRESS\") {\n // Replace the div with a element\n const progressElem = document.createElement(\"progress\");\n progressElem.id = \"subchapterprogress\";\n progressElem.max = 100;\n progressElem.value = value;\n // Copy over any classes from the old div\n progressElem.className = subchapterprogress.className;\n subchapterprogress.replaceWith(progressElem);\n subchapterprogress = progressElem;\n } else if (subchapterprogress) {\n subchapterprogress.max = 100;\n subchapterprogress.value = value;\n }\n if (this.assignment_spec) {\n // If the user has completed all activities, send the reading score.\n // This handles the case where there are no activities on the page or\n // where the user completed activities on the assignment page and now\n // is viewing the reading page.\n let completeActivities = this.total - 1; // subtract 1 for the page reading which is in total but not an activity\n let requiredActivities =\n this.assignment_spec.activities_required || 0;\n if (completeActivities >= requiredActivities) {\n this.sendCompletedReadingScore().then(() => {\n console.log(\"Reading score sent for page\");\n // wait a tick then mark the page complete\n // this is needed to let the progress bar update before marking complete\n setTimeout(() => {\n let cb = document.getElementById(\"completionButton\");\n if (\n cb &&\n cb.textContent.toLowerCase() === \"mark as completed\"\n ) {\n cb.click();\n }\n }, 500);\n });\n }\n }\n if (!eBookConfig.isLoggedIn) {\n const subchapterDiv = document.getElementById(\"subchapterprogress\");\n if (subchapterDiv) subchapterDiv.classList.add(\"loggedout\");\n }\n }\n\n updateProgress(div_id) {\n this.activities[div_id]++;\n // Only update the progress bar on the first interaction with an object.\n if (this.activities[div_id] === 1) {\n this.total++;\n let val = (100 * this.total) / this.possible;\n const scprogresstotal2 = document.getElementById(\"scprogresstotal\");\n if (scprogresstotal2) scprogresstotal2.textContent = this.total;\n const scprogressposs2 = document.getElementById(\"scprogressposs\");\n if (scprogressposs2) scprogressposs2.textContent = this.possible;\n let subchapterprogress2 =\n document.getElementById(\"subchapterprogress\");\n if (\n subchapterprogress2 &&\n subchapterprogress2.tagName === \"PROGRESS\"\n ) {\n subchapterprogress2.value = val;\n }\n if (\n this.assignment_spec &&\n this.assignment_spec.activities_required !== null &&\n this.total >= this.assignment_spec.activities_required\n ) {\n console.log(\"Required activities completed\");\n this.sendCompletedReadingScore().then(() => {\n console.log(\"Reading score sent\");\n });\n }\n if (\n val == 100.0 &&\n (function () {\n const cb = document.getElementById(\"completionButton\");\n return (\n cb &&\n cb.textContent &&\n cb.textContent.toLowerCase() === \"mark as completed\"\n );\n })()\n ) {\n const cb = document.getElementById(\"completionButton\");\n if (cb && typeof cb.click === \"function\") {\n cb.click();\n }\n }\n }\n }\n\n async sendCompletedReadingScore() {\n let headers = new Headers({\n \"Content-type\": \"application/json; charset=utf-8\",\n Accept: \"application/json\",\n });\n let data = { ...this.assignment_spec };\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/update_reading_score`,\n {\n method: \"POST\",\n body: JSON.stringify(data),\n headers: headers,\n },\n );\n try {\n let response = await fetch(request);\n if (!response.ok) {\n console.error(\n `Failed to send reading score! ${response.statusText}`,\n );\n }\n data = await response.json();\n } catch (e) {\n console.error(`Error sending reading score ${e}`);\n }\n }\n}\n\nexport var pageProgressTracker = {};\n\nfunction getCookie(name) {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) return parts.pop().split(\";\").shift();\n}\n\nasync function handlePageSetup() {\n var mess;\n if (eBookConfig.useRunestoneServices) {\n let headers = new Headers({\n \"Content-type\": \"application/json; charset=utf-8\",\n Accept: \"application/json\",\n });\n let data = {\n timezoneoffset: new Date().getTimezoneOffset() / 60,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n };\n let RS_info = getCookie(\"RS_info\");\n var tz_match = false;\n if (RS_info) {\n try {\n let cleaned = RS_info.replace(/\\\\054/g, \",\"); // handle octal comma encoding\n let info = JSON.parse(decodeURIComponent(cleaned));\n info = JSON.parse(decodeURIComponent(info));\n if (\n info.timezone === data.timezone &&\n info.tz_offset === data.timezoneoffset\n ) {\n console.log(\n \"Timezone cookie matches, not sending timezone to server\",\n );\n tz_match = true;\n }\n } catch (e) {\n console.error(\n \"Error parsing RS_info cookie, sending timezone to server\",\n );\n }\n }\n if (tz_match === false) {\n // Set a cookie so we don't have to do this again for a while.\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/set_tz_offset`,\n {\n method: \"POST\",\n body: JSON.stringify(data),\n headers: headers,\n },\n );\n try {\n let response = await fetch(request);\n if (!response.ok) {\n console.error(\n `Failed to set timezone! ${response.statusText}`,\n );\n }\n data = await response.json();\n } catch (e) {\n console.error(`Error setting timezone ${e}`);\n }\n }\n }\n console.log(`This page served by ${eBookConfig.served_by}`);\n if (eBookConfig.isLoggedIn) {\n mess = `username: ${eBookConfig.username}`;\n if (!eBookConfig.isInstructor) {\n const ipDropdown = document.getElementById(\"ip_dropdown_link\");\n if (ipDropdown && typeof ipDropdown.remove === \"function\") {\n ipDropdown.remove();\n }\n const instPeer = document.getElementById(\"inst_peer_link\");\n if (instPeer && typeof instPeer.remove === \"function\") {\n instPeer.remove();\n }\n }\n document.dispatchEvent(new Event(\"runestone:login\"));\n addReadingList();\n // Avoid the timedRefresh on the grading page.\n if (\n window.location.pathname.indexOf(\"/admin/grading\") == -1 &&\n window.location.pathname.indexOf(\"/peer/\") == -1\n ) {\n timedRefresh();\n }\n } else {\n mess = \"Not logged in\";\n document.dispatchEvent(new Event(\"runestone:logout\"));\n let bw = document.getElementById(\"browsing_warning\");\n if (bw) {\n bw.innerHTML =\n \"\";\n }\n let aw = document.getElementById(\"ad_warning\");\n if (aw) {\n aw.innerHTML =\n \"\";\n }\n }\n document.querySelectorAll(\".loggedinuser\").forEach((el) => {\n el.innerHTML = mess;\n });\n\n pageProgressTracker = new PageProgressBar(eBookConfig.activities);\n notifyRunestoneComponents();\n}\n\nfunction setupNavbarLoggedIn() {\n const profileLink = document.getElementById(\"profilelink\");\n if (profileLink) profileLink.style.removeProperty(\"display\");\n const passwordLink = document.getElementById(\"passwordlink\");\n if (passwordLink) passwordLink.style.removeProperty(\"display\");\n const registerLink = document.getElementById(\"registerlink\");\n if (registerLink) registerLink.style.display = \"none\";\n document.querySelectorAll(\"li.loginout\").forEach((el) => {\n el.innerHTML =\n 'Log Out';\n });\n}\ndocument.addEventListener(\"runestone:login\", setupNavbarLoggedIn);\n\nfunction setupNavbarLoggedOut() {\n if (eBookConfig.useRunestoneServices) {\n console.log(\"setup navbar for logged out\");\n const registerLink = document.getElementById(\"registerlink\");\n if (registerLink) registerLink.style.removeProperty(\"display\");\n const profileLink = document.getElementById(\"profilelink\");\n if (profileLink) profileLink.style.display = \"none\";\n const passwordLink = document.getElementById(\"passwordlink\");\n if (passwordLink) passwordLink.style.display = \"none\";\n const ipDropdown = document.getElementById(\"ip_dropdown_link\");\n if (ipDropdown) ipDropdown.style.display = \"none\";\n const instPeer = document.getElementById(\"inst_peer_link\");\n if (instPeer) instPeer.style.display = \"none\";\n document.querySelectorAll(\"li.loginout\").forEach((el) => {\n el.innerHTML =\n 'Login';\n });\n document.querySelectorAll(\".footer\").forEach((el) => {\n el.innerHTML = \"user not logged in\";\n });\n }\n}\ndocument.addEventListener(\"runestone:logout\", setupNavbarLoggedOut);\n\nfunction notifyRunestoneComponents() {\n // Runestone components wait until login process is over to load components because of storage issues. This triggers the `dynamic import machinery`, which then sends the login complete signal when this and all dynamic imports are finished.\n console.log(\"triggering runestone:pre-login-complete\");\n document.dispatchEvent(new Event(\"runestone:pre-login-complete\"));\n}\n\nfunction placeAdCopy() {\n if (typeof showAd !== \"undefined\" && showAd) {\n let adNum = Math.floor(Math.random() * 2) + 1;\n let adBlock = document.getElementById(`adcopy_${adNum}`);\n let rsElements = document.querySelectorAll(\".runestone\");\n if (rsElements.length > 0) {\n let randomIndex = Math.floor(Math.random() * rsElements.length);\n rsElements[randomIndex].after(adBlock);\n adBlock.style.display = \"block\";\n }\n }\n}\n\n// initialize stuff\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n if (eBookConfig) {\n handlePageSetup();\n placeAdCopy();\n } else {\n if (typeof eBookConfig === \"undefined\") {\n console.log(\n \"eBookConfig is not defined. This page must not be set up for Runestone\",\n );\n }\n }\n});\n\n// misc stuff\n// todo: This could be further distributed but making a video.js file just for one function seems dumb.\nwindow.addEventListener(\"load\", function () {\n // add the video play button overlay image\n document.querySelectorAll(\".video-play-overlay\").forEach(function (el) {\n el.style.backgroundImage =\n \"url('{{pathto('_static/play_overlay_icon.png', 1)}}')\";\n });\n\n // This function is needed to allow the dropdown search bar to work;\n // The default behaviour is that the dropdown menu closes when something in\n // it (like the search bar) is clicked\n document\n .querySelectorAll(\".dropdown input, .dropdown label\")\n .forEach(function (el) {\n el.addEventListener(\"click\", function (e) {\n e.stopPropagation();\n });\n });\n\n // re-write some urls\n // This is tricker than it looks and you have to obey the rules for # anchors\n // The #anchors must come after the query string as the server basically ignores any part\n // of a url that comes after # - like a comment...\n if (location.href.includes(\"mode=browsing\")) {\n let queryString = \"?mode=browsing\";\n document.querySelectorAll(\"a\").forEach((link) => {\n let anchorText = \"\";\n if (\n link.href.includes(\"books/published\") &&\n !link.href.includes(\"?mode=browsing\")\n ) {\n if (link.href.includes(\"#\")) {\n let aPoint = link.href.indexOf(\"#\");\n anchorText = link.href.substring(aPoint);\n link.href = link.href.substring(0, aPoint);\n }\n link.href = link.href.includes(\"?\")\n ? link.href + queryString.replace(\"?\", \"&\") + anchorText\n : link.href + queryString + anchorText;\n }\n });\n }\n});\n\n/**\n * Returns true if the string appears to contain LaTeX math.\n */\nexport function looksLikeLatexMath(text) {\n if (typeof text !== \"string\") return false;\n\n // Common LaTeX math delimiters\n const mathDelimiters = [\n /\\$\\$[\\s\\S]+?\\$\\$/, // $$ ... $$\n /\\$[^$\\n]+?\\$/, // $ ... $\n /\\\\\\[[\\s\\S]+?\\\\\\]/, // \\[ ... \\]\n /\\\\\\([\\s\\S]+?\\\\\\)/, // \\( ... \\)\n ];\n\n // Common math commands (avoid generic \\text or \\ref-only cases)\n const mathCommands =\n /\\\\(frac|sqrt|sum|prod|int|lim|sin|cos|tan|log|ln|alpha|beta|gamma|pi|theta|sigma|Delta|cdot|times|leq|geq|neq)\\b/;\n\n // Superscripts/subscripts like x^2 or a_i\n const superSubScript = /[a-zA-Z0-9]\\s*[\\^_]\\s*\\{?.+?\\}?/;\n\n return (\n mathDelimiters.some((re) => re.test(text)) ||\n mathCommands.test(text) ||\n superSubScript.test(text)\n );\n}\n","import { runestone_import } from \"../../../webpack.index.js\";\n\nexport async function renderRunestoneComponent(\n componentSrc,\n whereDiv,\n moreOpts\n) {\n /**\n * The easy part is adding the componentSrc to the existing div.\n * The tedious part is calling the right functions to turn the\n * source into the actual component.\n */\n if (!componentSrc) {\n jQuery(`#${whereDiv}`).html(\n `

    Sorry, no source is available for preview.

    `\n );\n return;\n }\n let patt = /..\\/_images/g;\n componentSrc = componentSrc.replace(\n patt,\n `${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`\n );\n jQuery(`#${whereDiv}`).html(componentSrc);\n\n if (typeof window.componentMap === \"undefined\") {\n window.componentMap = {};\n }\n\n let componentKind = $($(`#${whereDiv} [data-component]`)[0]).data(\n \"component\"\n );\n // Import the JavaScript for this component before proceeding.\n await runestone_import(componentKind);\n let opt = {};\n opt.orig = jQuery(`#${whereDiv} [data-component]`)[0];\n if (opt.orig) {\n opt.lang = $(opt.orig).data(\"lang\");\n opt.useRunestoneServices = true;\n opt.graderactive = false;\n opt.python3 = true;\n if (typeof moreOpts !== \"undefined\") {\n for (let key in moreOpts) {\n opt[key] = moreOpts[key];\n }\n }\n }\n\n if (typeof component_factory === \"undefined\") {\n alert(\"Error: Missing the component factory!\");\n } else {\n if (\n !window.component_factory[componentKind] &&\n !jQuery(`#${whereDiv}`).html()\n ) {\n jQuery(`#${whereDiv}`).html(\n `

    Preview not available for ${componentKind}

    `\n );\n } else {\n let res = window.component_factory[componentKind](opt);\n if (componentKind === \"activecode\") {\n if (moreOpts.multiGrader) {\n window.componentMap[\n `${moreOpts.gradingContainer} ${res.divid}`\n ] = res;\n } else {\n window.componentMap[res.divid] = res;\n }\n }\n }\n }\n}\n\nexport function createTimedComponent(componentSrc, moreOpts) {\n /* The important distinction is that the component does not really need to be rendered\n into the page, in fact, due to the async nature of getting the source the list of questions\n is made and the original html is replaced by the look of the exam.\n */\n\n let patt = /..\\/_images/g;\n componentSrc = componentSrc.replace(\n patt,\n `${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`\n );\n\n let componentKind = $($(componentSrc).find(\"[data-component]\")[0]).data(\n \"component\"\n );\n\n let origId = $(componentSrc).find(\"[data-component]\").first().attr(\"id\");\n\n // Double check -- if the component source is not in the DOM, then briefly add it\n // and call the constructor.\n let hdiv;\n if (!document.getElementById(origId)) {\n hdiv = $(\"
    \", {\n css: { display: \"none\" },\n }).appendTo(\"body\");\n hdiv.html(componentSrc);\n }\n // at this point hdiv is a jquery object\n\n let ret;\n let opts = {\n orig: document.getElementById(origId),\n timed: true,\n };\n if (typeof moreOpts !== \"undefined\") {\n for (let key in moreOpts) {\n opts[key] = moreOpts[key];\n }\n }\n\n if (componentKind in window.component_factory) {\n ret = window.component_factory[componentKind](opts);\n }\n\n let rdict = {};\n rdict.question = ret;\n return rdict;\n}\n\n// For integration with the React overhault of Pretext\n// 1. Disable the automatic instantiation at the end of each component.js\n// 2. react will search for all \".runestone\" and will call this function for each of them.\nexport async function renderOneComponent(rsDiv) {\n // Find the actual component inside the runestone component.\n let component = rsDiv.querySelector(\"[data-component]\");\n if (component == null) {\n console.log(\"Render was called for a component, but now [data-component] attribute is present. This may mean the component has already been rendered.\")\n return;\n }\n let componentKind = component.dataset.component;\n await runestone_import(componentKind);\n if ($(this).closest(\"[data-component=timedAssessment]\").length == 0) {\n // If this element exists within a timed component, don't render it here\n try {\n let divid = component.id;\n window.componentMap[divid] = window.component_factory[\n componentKind\n ]({\n orig: component,\n useRunestoneServices: eBookConfig.useRunestoneServices,\n });\n } catch (err) {\n console.log(`Error rendering ${componentKind} Problem ${this.id}\n Details: ${err}`);\n }\n }\n}\n"],"names":["$","patchToc","$ul","minLevel","findA","$elem","level","find","each","index","item","$item","tag","tagName","toLowerCase","$childrenLi","children","$parentLi","parent","length","addClass","first","attr","patchTables","removeClass","navHeight","height","shiftWindow","scrollBy","location","hash","window","addEventListener","this","remove","not","$parent","$kids","detach","replaceWith","after","$localLi","dropdown","i","e","hasClass","text","jQuery","codeExercises","presentModeInitialized","presentToggle","dataComponent","closest","css","wrapAll","wrap","before","presentModeSetup","bod","presentClass","fullHeightClass","bottomClass","localStorage","setItem","presenterCssLink","disabled","activateExercise","getActiveExercise","active","filter","nextExercise","nextIndex","prevExercise","prevIndex","document","on","eBookConfig","isInstructor","prepend","change","i18n","extend","fallbacks","ab","ace","aln","als","an","anp","arn","arz","av","ay","ba","bar","bcc","bh","bjn","bm","bpy","bqi","bug","ce","crh","csb","cv","dsb","dtp","egl","eml","ff","fit","frc","frp","frr","fur","gag","gan","gl","glk","gn","gsw","hif","hsb","ht","ii","inh","iu","jut","jv","kaa","kbd","khw","kiu","kk","kl","koi","krc","ks","ksh","ku","kv","lad","lb","lbe","lez","li","lij","liv","lmo","ln","ltg","lzz","mai","mg","mhr","min","mo","mrj","mwl","myv","mzn","nah","nap","nds","no","os","pcd","pdc","pdt","pfl","pms","pt","qu","qug","rgn","rmy","rue","ruq","sa","sah","scn","sg","sgs","sli","sr","srn","stq","su","szl","tcy","tg","tt","ty","udm","ug","uk","vec","vep","vls","vmf","vot","vro","wa","wo","wuu","xal","xmf","yi","za","zea","zh","language","pluralRules","ak","one","am","ar","zero","two","few","many","ars","as","be","bn","br","bs","cs","cy","da","fa","fil","fr","ga","gd","gu","guw","gv","he","hi","hr","hy","is","iw","kab","kn","kw","lag","lt","lv","mk","mr","mt","naq","nso","pa","pl","prg","ro","ru","se","sh","shi","si","sk","sl","sma","smi","smj","smn","sms","ti","tl","tzm","zu","convertPlural","count","forms","pluralFormIndex","form","explicitPluralPattern","RegExp","test","parseInt","slice","indexOf","undefined","map","locale","getPluralForm","Math","number","pluralForms","pluralRuleParser","convertNumber","num","integer","tmp","transformTable","numberString","convertedNumber","digitTransformTable","String","parseFloat","convertGrammar","word","gender","push","tables","ml","lo","or","kh","my","ta","te","th","bo","split","languages","strongDirRegExp","parser","emitter","bidi","nodes","m","dir","match","module","exports","MessageParserEmitter","prototype","constructor","emit","node","replacements","ret","subnodes","operation","messageParserEmitter","n","Error","concat","result","replace","plural","grammar","MessageParser","options","defaults","simpleParse","message","parameters","str","parse","ast","pipe","colon","backslash","anyCharacter","dollar","digits","regularLiteral","regularLiteralWithoutBar","escapedOrLiteralWithoutBar","escapedOrRegularLiteral","templateContents","templateName","openTemplate","closeTemplate","expression","paramExpression","p","fn","pos","choice","parserSyntax","sequence","res","originalPos","nOrMore","parsed","makeStringParser","s","len","makeRegexParser","regex","matches","escapedLiteral","replacement","templateParam","expr","templateWithReplacement","templateWithOutReplacement","template","toString","join","start","MessageStore","messages","sources","load","source","url","deferred","key","deferreds","messageStore","log","Deferred","getJSON","done","resolve","fail","jqxhr","settings","exception","promise","localization","set","Object","hasOwnProperty","call","when","apply","get","messageKey","I18N","nav","Array","localize","localeParts","localePartIndex","fallbackIndex","tryingLocale","fallbackLocale","destroy","removeData","fallbackLocales","locIndex","sourceMap","pop","param1","data","arguments","lBracket","rBracket","type","$this","html","debug","console","navigator","userLanguage","idleTimer","newTimeout","elem","opts","startImmediately","idle","enabled","timeout","events","toggleIdleState","myelem","obj","elapsed","Date","olddate","clearTimeout","tId","setTimeout","event","Event","trigger","off","stop","trim","isPreTeXt","querySelector","processPageState","completionFlag","pageLoad","markingComplete","markingIncomplete","currentPathname","pathname","substring","lastIndexOf","isPtxBook","lastPageUrl","lastPageScrollLocation","round","scrollTop","course","ajaxError","jqhxr","ajax","new_server_prefix","contentType","dataType","JSON","stringify","method","async","lastPositionVal","href","completionClass","completionMsg","detail","completionStatus","scp","classList","add","append","getCompletions","getUrlVar","animate","navLinkBgRightHalfOpen","navLinkBgRightHiddenPosition","outerWidth","relationsNextIconInitialPosition","relationsNextIconNewPosition","show","navBgShown","scroll","right","left","addNavigationAndCompletionButtons","subChapterList","allSubChapterURLs","chapterName","subChapterName","parentElement","endDate","hover","next","hide","lastPageData","lastPageChapter","lastPageSubchapter","decorateTableOfContents","getUrlVars","vars","hashes","search","name","rb","querySelectorAll","forEach","el","div_id","getAttribute","logBookEvent","act","open","id","btn","container","codeInput","textContent","warn","style","display","setupPTXEvents","getElementById","overflow","SpliceWrapper","super","initSplice","base64","jsonPayload","sourceIframe","sendingIframe","subject","handleScoreAndState","handleSpliceEvent","handleGetState","origin","msgdata","jwt","decodeURIComponent","atob","c","charCodeAt","frame_id","score","getUniqueID","frame","rsDiv","activity_id","src","error","state","percent","correct","answer","f","getElementsByTagName","contentWindow","getSavedState","response","fetch","headers","body","ok","status","json","postMessage","message_id","checkLocalStorage","setLocalStorage","restoreAnswers","disableInteraction","module_map","activecode","ble","clickablearea","codelens","datafile","dragndrop","fillintheblank","groupsub","khanex","lp_build","matching","multiplechoice","hparsons","parsons","poll","quizly","reveal","selectquestion","shortanswer","showeval","simple_sensor","spreadsheet","tabbedStuff","timedAssessment","wavedrom","webwork","youtube","doenet","Promise","module_map_cache","QUEUE_FLUSH_TIME_MS","queue","queueLastFlush","flushQueue","now","toFlush","component_name","flushedPromise","reject","flushed","all","pre_login_complete_promise","runestone_auto_import","Set","element","a","value","z","msg","then","dataset","reactInUse","dispatchEvent","CustomEvent","runestone_import","retPromise","r","rej","queueImport","ready","script_src","currentScript","rc","getSwitch","toggleSwitch","currentTheme","getItem","documentElement","setAttribute","checked","switchTheme","popupScratchAC","scratchDiv","ACFactory","createScratchActivecode","divid","componentMap","createActiveCode","acDefaultLanguage","isLoggedIn","enableSaveLoad","toggleScratchActivecode","renderOneComponent","runestoneComponents","NO_DECORATE","RunestoneBase","component_ready_promise","_component_ready_resolve_fn","optional","allComponents","sid","graderactive","showfeedback","timed","isTimed","enforceDeadline","deadline","parseBooleanAttribute","orig","selector_id","assessmentTaken","timedWrapper","question_label","is_toggle","is_select","mjelements","self","mjReady","mjresolver","aQueue","AutoQueue","preamble","y","createElement","innerHTML","appendChild","jsonHeaders","Headers","Accept","attributeName","attrValue","lowerValue","eventInfo","post_return","course_name","clientLoginStatus","timezoneoffset","getTimezoneOffset","assignmentId","assignment_id","useRunestoneServices","logLevel","postLogMessage","prefix","updateProgress","decorateStatus","request","Request","scoreSpec","gradeBox","updateScores","alert","assigned","scoreSpan","getElementsByClassName","toFixed","allScores","allmax","total","max","totalSpan","maxSpan","percentSpan","logRunEvent","post_promise","forceSave","save_code","errinfo","checkServer","will_be_ready","checkServerComplete","csresolver","rawdeadline","tzoff","practice_mode","peer","loadData","repopulateFromStorage","attempted","statusText","err","indicate_component_ready","containerDiv","shouldUseServer","storedData","ex","localStorageKey","removeItem","storageDate","timestamp","email","addCaption","elType","capDiv","caption","hasUserActivity","isAnswered","checkCurrentAnswer","logCurrentAnswer","renderFeedback","queueMathJax","component","MathJax","typesetPromise","runestoneMathReady","enqueue","Queue","_items","dequeue","shift","size","_pendingPromise","qq","payload","preambleDiv","insertAdjacentElement","PageProgressBar","actDict","possible","assignment_spec","keys","activities","page","firstElementChild","calculateProgress","scprogresscontainer","renderProgress","k","scprogresstotal","scprogressposs","subchapterprogress","progressElem","className","activities_required","sendCompletedReadingScore","cb","click","subchapterDiv","val","scprogresstotal2","scprogressposs2","subchapterprogress2","pageProgressTracker","looksLikeLatexMath","some","re","profileLink","removeProperty","passwordLink","registerLink","app","ipDropdown","instPeer","mess","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","RS_info","parts","cookie","getCookie","tz_match","cleaned","info","tz_offset","served_by","username","assignment_info_string","readings","top","bottom","page_name","exit_link","fst","snd","new_pos","path_parts","new_pos_link","assignment_info","assignment_name","reading_names","readingNames","cur_path_parts","ptxbook","endLop","contains","position","num_readings","cloneNode","txt","fst_lnk","snd_lnk","exit_clone","content","insertBefore","firstChild","pc","marginBottom","mainContent","addReadingList","idleTimeoutId","onIdle","resetIdleTimer","eventName","passive","timedRefresh","bw","aw","handlePageSetup","showAd","adNum","floor","random","adBlock","rsElements","placeAdCopy","backgroundImage","stopPropagation","includes","queryString","link","anchorText","aPoint","renderRunestoneComponent","componentSrc","whereDiv","moreOpts","basecourse","componentKind","opt","lang","python3","component_factory","multiGrader","gradingContainer","createTimedComponent","hdiv","origId","appendTo","rdict","question"],"sourceRoot":""} \ No newline at end of file diff --git a/course/_static/prefix-runestone.1c010553c35c544c.bundle.js.map.gz b/course/_static/prefix-runestone.1c010553c35c544c.bundle.js.map.gz new file mode 100755 index 0000000..fc924fc Binary files /dev/null and b/course/_static/prefix-runestone.1c010553c35c544c.bundle.js.map.gz differ diff --git a/course/_static/prefix-runestone.f4ab138da65f4203.css b/course/_static/prefix-runestone.677a75a9120449ff.css similarity index 86% rename from course/_static/prefix-runestone.f4ab138da65f4203.css rename to course/_static/prefix-runestone.677a75a9120449ff.css index c23e42c..d455867 100755 --- a/course/_static/prefix-runestone.f4ab138da65f4203.css +++ b/course/_static/prefix-runestone.677a75a9120449ff.css @@ -5,5 +5,5 @@ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ - /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */}.ptx-runestone-container html,.runestone-sphinx html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:sans-serif}.ptx-runestone-container body,.runestone-sphinx body{margin:0}.ptx-runestone-container article,.ptx-runestone-container aside,.ptx-runestone-container details,.ptx-runestone-container figcaption,.ptx-runestone-container figure,.ptx-runestone-container footer,.ptx-runestone-container header,.ptx-runestone-container hgroup,.ptx-runestone-container main,.ptx-runestone-container menu,.ptx-runestone-container nav,.ptx-runestone-container section,.ptx-runestone-container summary,.runestone-sphinx article,.runestone-sphinx aside,.runestone-sphinx details,.runestone-sphinx figcaption,.runestone-sphinx figure,.runestone-sphinx footer,.runestone-sphinx header,.runestone-sphinx hgroup,.runestone-sphinx main,.runestone-sphinx menu,.runestone-sphinx nav,.runestone-sphinx section,.runestone-sphinx summary{display:block}.ptx-runestone-container audio,.ptx-runestone-container canvas,.ptx-runestone-container progress,.ptx-runestone-container video,.runestone-sphinx audio,.runestone-sphinx canvas,.runestone-sphinx progress,.runestone-sphinx video{display:inline-block;vertical-align:baseline}.ptx-runestone-container audio:not([controls]),.runestone-sphinx audio:not([controls]){display:none;height:0}.ptx-runestone-container [hidden],.ptx-runestone-container template,.runestone-sphinx [hidden],.runestone-sphinx template{display:none}.ptx-runestone-container a,.runestone-sphinx a{background-color:transparent}.ptx-runestone-container a:active,.ptx-runestone-container a:hover,.runestone-sphinx a:active,.runestone-sphinx a:hover{outline:0}.ptx-runestone-container abbr[title],.runestone-sphinx abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}.ptx-runestone-container b,.ptx-runestone-container strong,.runestone-sphinx b,.runestone-sphinx strong{font-weight:700}.ptx-runestone-container dfn,.runestone-sphinx dfn{font-style:italic}.ptx-runestone-container h1,.runestone-sphinx h1{font-size:2em;margin:.67em 0}.ptx-runestone-container mark,.runestone-sphinx mark{background:#ff0;color:#000}.ptx-runestone-container small,.runestone-sphinx small{font-size:80%}.ptx-runestone-container sub,.ptx-runestone-container sup,.runestone-sphinx sub,.runestone-sphinx sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.ptx-runestone-container sup,.runestone-sphinx sup{top:-.5em}.ptx-runestone-container sub,.runestone-sphinx sub{bottom:-.25em}.ptx-runestone-container img,.runestone-sphinx img{border:0}.ptx-runestone-container svg:not(:root),.runestone-sphinx svg:not(:root){overflow:hidden}.ptx-runestone-container figure,.runestone-sphinx figure{margin:1em 40px}.ptx-runestone-container hr,.runestone-sphinx hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}.ptx-runestone-container pre,.runestone-sphinx pre{overflow:auto}.ptx-runestone-container code,.ptx-runestone-container kbd,.ptx-runestone-container pre,.ptx-runestone-container samp,.runestone-sphinx code,.runestone-sphinx kbd,.runestone-sphinx pre,.runestone-sphinx samp{font-family:monospace,monospace;font-size:1em}.ptx-runestone-container button,.ptx-runestone-container input,.ptx-runestone-container optgroup,.ptx-runestone-container select,.ptx-runestone-container textarea,.runestone-sphinx button,.runestone-sphinx input,.runestone-sphinx optgroup,.runestone-sphinx select,.runestone-sphinx textarea{color:inherit;font:inherit;margin:0}.ptx-runestone-container button,.runestone-sphinx button{overflow:visible}.ptx-runestone-container button,.ptx-runestone-container select,.runestone-sphinx button,.runestone-sphinx select{text-transform:none}.ptx-runestone-container button,.ptx-runestone-container html input[type=button],.ptx-runestone-container input[type=reset],.ptx-runestone-container input[type=submit],.runestone-sphinx button,.runestone-sphinx html input[type=button],.runestone-sphinx input[type=reset],.runestone-sphinx input[type=submit]{-webkit-appearance:button;cursor:pointer}.ptx-runestone-container button[disabled],.ptx-runestone-container html input[disabled],.runestone-sphinx button[disabled],.runestone-sphinx html input[disabled]{cursor:default}.ptx-runestone-container button::-moz-focus-inner,.ptx-runestone-container input::-moz-focus-inner,.runestone-sphinx button::-moz-focus-inner,.runestone-sphinx input::-moz-focus-inner{border:0;padding:0}.ptx-runestone-container input,.runestone-sphinx input{line-height:normal}.ptx-runestone-container input[type=checkbox],.ptx-runestone-container input[type=radio],.runestone-sphinx input[type=checkbox],.runestone-sphinx input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}.ptx-runestone-container input[type=number]::-webkit-inner-spin-button,.ptx-runestone-container input[type=number]::-webkit-outer-spin-button,.runestone-sphinx input[type=number]::-webkit-inner-spin-button,.runestone-sphinx input[type=number]::-webkit-outer-spin-button{height:auto}.ptx-runestone-container input[type=search],.runestone-sphinx input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ptx-runestone-container input[type=search]::-webkit-search-cancel-button,.ptx-runestone-container input[type=search]::-webkit-search-decoration,.runestone-sphinx input[type=search]::-webkit-search-cancel-button,.runestone-sphinx input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.ptx-runestone-container fieldset,.runestone-sphinx fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.ptx-runestone-container textarea,.runestone-sphinx textarea{overflow:auto}.ptx-runestone-container optgroup,.runestone-sphinx optgroup{font-weight:700}.ptx-runestone-container table,.runestone-sphinx table{border-collapse:collapse;border-spacing:0}.ptx-runestone-container td,.ptx-runestone-container th,.runestone-sphinx td,.runestone-sphinx th{padding:0}@media print{.ptx-runestone-container *,.ptx-runestone-container :after,.ptx-runestone-container :before,.runestone-sphinx *,.runestone-sphinx :after,.runestone-sphinx :before{background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}.ptx-runestone-container a,.ptx-runestone-container a:visited,.runestone-sphinx a,.runestone-sphinx a:visited{text-decoration:underline}.ptx-runestone-container a[href]:after,.runestone-sphinx a[href]:after{content:" (" attr(href) ")"}.ptx-runestone-container abbr[title]:after,.runestone-sphinx abbr[title]:after{content:" (" attr(title) ")"}.ptx-runestone-container a[href^="#"]:after,.ptx-runestone-container a[href^="javascript:"]:after,.runestone-sphinx a[href^="#"]:after,.runestone-sphinx a[href^="javascript:"]:after{content:""}.ptx-runestone-container blockquote,.ptx-runestone-container pre,.runestone-sphinx blockquote,.runestone-sphinx pre{border:1px solid #999;page-break-inside:avoid}.ptx-runestone-container thead,.runestone-sphinx thead{display:table-header-group}.ptx-runestone-container img,.ptx-runestone-container tr,.runestone-sphinx img,.runestone-sphinx tr{page-break-inside:avoid}.ptx-runestone-container img,.runestone-sphinx img{max-width:100%!important}.ptx-runestone-container h2,.ptx-runestone-container h3,.ptx-runestone-container p,.runestone-sphinx h2,.runestone-sphinx h3,.runestone-sphinx p{orphans:3;widows:3}.ptx-runestone-container h2,.ptx-runestone-container h3,.runestone-sphinx h2,.runestone-sphinx h3{page-break-after:avoid}.ptx-runestone-container .navbar,.runestone-sphinx .navbar{display:none}.ptx-runestone-container .btn>.caret,.ptx-runestone-container .dropup>.btn>.caret,.runestone-sphinx .btn>.caret,.runestone-sphinx .dropup>.btn>.caret{border-top-color:#000!important}.ptx-runestone-container .label,.runestone-sphinx .label{border:1px solid #000}.ptx-runestone-container .table,.runestone-sphinx .table{border-collapse:collapse!important}.ptx-runestone-container .table td,.ptx-runestone-container .table th,.runestone-sphinx .table td,.runestone-sphinx .table th{background-color:#fff!important}.ptx-runestone-container .table-bordered td,.ptx-runestone-container .table-bordered th,.runestone-sphinx .table-bordered td,.runestone-sphinx .table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:Glyphicons Halflings;src:url(7a0f4b092e86cb52.eot);src:url(7a0f4b092e86cb52.eot?#iefix) format("embedded-opentype"),url(b70781972ce7320b.woff2) format("woff2"),url(4ba85deaf3670942.woff) format("woff"),url(009b407a9881be10.ttf) format("truetype"),url(85f0466cb4ab3a4d.svg#glyphicons_halflingsregular) format("svg")}.ptx-runestone-container .glyphicon,.runestone-sphinx .glyphicon{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:Glyphicons Halflings;font-style:normal;font-weight:400;line-height:1;position:relative;top:1px}.ptx-runestone-container .glyphicon-asterisk:before,.runestone-sphinx .glyphicon-asterisk:before{content:"\002a"}.ptx-runestone-container .glyphicon-plus:before,.runestone-sphinx .glyphicon-plus:before{content:"\002b"}.ptx-runestone-container .glyphicon-eur:before,.ptx-runestone-container .glyphicon-euro:before,.runestone-sphinx .glyphicon-eur:before,.runestone-sphinx .glyphicon-euro:before{content:"\20ac"}.ptx-runestone-container .glyphicon-minus:before,.runestone-sphinx .glyphicon-minus:before{content:"\2212"}.ptx-runestone-container .glyphicon-cloud:before,.runestone-sphinx .glyphicon-cloud:before{content:"\2601"}.ptx-runestone-container .glyphicon-envelope:before,.runestone-sphinx .glyphicon-envelope:before{content:"\2709"}.ptx-runestone-container .glyphicon-pencil:before,.runestone-sphinx .glyphicon-pencil:before{content:"\270f"}.ptx-runestone-container .glyphicon-glass:before,.runestone-sphinx .glyphicon-glass:before{content:"\e001"}.ptx-runestone-container .glyphicon-music:before,.runestone-sphinx .glyphicon-music:before{content:"\e002"}.ptx-runestone-container .glyphicon-search:before,.runestone-sphinx .glyphicon-search:before{content:"\e003"}.ptx-runestone-container .glyphicon-heart:before,.runestone-sphinx .glyphicon-heart:before{content:"\e005"}.ptx-runestone-container .glyphicon-star:before,.runestone-sphinx .glyphicon-star:before{content:"\e006"}.ptx-runestone-container .glyphicon-star-empty:before,.runestone-sphinx .glyphicon-star-empty:before{content:"\e007"}.ptx-runestone-container .glyphicon-user:before,.runestone-sphinx .glyphicon-user:before{content:"\e008"}.ptx-runestone-container .glyphicon-film:before,.runestone-sphinx .glyphicon-film:before{content:"\e009"}.ptx-runestone-container .glyphicon-th-large:before,.runestone-sphinx .glyphicon-th-large:before{content:"\e010"}.ptx-runestone-container .glyphicon-th:before,.runestone-sphinx .glyphicon-th:before{content:"\e011"}.ptx-runestone-container .glyphicon-th-list:before,.runestone-sphinx .glyphicon-th-list:before{content:"\e012"}.ptx-runestone-container .glyphicon-ok:before,.runestone-sphinx .glyphicon-ok:before{content:"\e013"}.ptx-runestone-container .glyphicon-remove:before,.runestone-sphinx .glyphicon-remove:before{content:"\e014"}.ptx-runestone-container .glyphicon-zoom-in:before,.runestone-sphinx .glyphicon-zoom-in:before{content:"\e015"}.ptx-runestone-container .glyphicon-zoom-out:before,.runestone-sphinx .glyphicon-zoom-out:before{content:"\e016"}.ptx-runestone-container .glyphicon-off:before,.runestone-sphinx .glyphicon-off:before{content:"\e017"}.ptx-runestone-container .glyphicon-signal:before,.runestone-sphinx .glyphicon-signal:before{content:"\e018"}.ptx-runestone-container .glyphicon-cog:before,.runestone-sphinx .glyphicon-cog:before{content:"\e019"}.ptx-runestone-container .glyphicon-trash:before,.runestone-sphinx .glyphicon-trash:before{content:"\e020"}.ptx-runestone-container .glyphicon-home:before,.runestone-sphinx .glyphicon-home:before{content:"\e021"}.ptx-runestone-container .glyphicon-file:before,.runestone-sphinx .glyphicon-file:before{content:"\e022"}.ptx-runestone-container .glyphicon-time:before,.runestone-sphinx .glyphicon-time:before{content:"\e023"}.ptx-runestone-container .glyphicon-road:before,.runestone-sphinx .glyphicon-road:before{content:"\e024"}.ptx-runestone-container .glyphicon-download-alt:before,.runestone-sphinx .glyphicon-download-alt:before{content:"\e025"}.ptx-runestone-container .glyphicon-download:before,.runestone-sphinx .glyphicon-download:before{content:"\e026"}.ptx-runestone-container .glyphicon-upload:before,.runestone-sphinx .glyphicon-upload:before{content:"\e027"}.ptx-runestone-container .glyphicon-inbox:before,.runestone-sphinx .glyphicon-inbox:before{content:"\e028"}.ptx-runestone-container .glyphicon-play-circle:before,.runestone-sphinx .glyphicon-play-circle:before{content:"\e029"}.ptx-runestone-container .glyphicon-repeat:before,.runestone-sphinx .glyphicon-repeat:before{content:"\e030"}.ptx-runestone-container .glyphicon-refresh:before,.runestone-sphinx .glyphicon-refresh:before{content:"\e031"}.ptx-runestone-container .glyphicon-list-alt:before,.runestone-sphinx .glyphicon-list-alt:before{content:"\e032"}.ptx-runestone-container .glyphicon-lock:before,.runestone-sphinx .glyphicon-lock:before{content:"\e033"}.ptx-runestone-container .glyphicon-flag:before,.runestone-sphinx .glyphicon-flag:before{content:"\e034"}.ptx-runestone-container .glyphicon-headphones:before,.runestone-sphinx .glyphicon-headphones:before{content:"\e035"}.ptx-runestone-container .glyphicon-volume-off:before,.runestone-sphinx .glyphicon-volume-off:before{content:"\e036"}.ptx-runestone-container .glyphicon-volume-down:before,.runestone-sphinx .glyphicon-volume-down:before{content:"\e037"}.ptx-runestone-container .glyphicon-volume-up:before,.runestone-sphinx .glyphicon-volume-up:before{content:"\e038"}.ptx-runestone-container .glyphicon-qrcode:before,.runestone-sphinx .glyphicon-qrcode:before{content:"\e039"}.ptx-runestone-container .glyphicon-barcode:before,.runestone-sphinx .glyphicon-barcode:before{content:"\e040"}.ptx-runestone-container .glyphicon-tag:before,.runestone-sphinx .glyphicon-tag:before{content:"\e041"}.ptx-runestone-container .glyphicon-tags:before,.runestone-sphinx .glyphicon-tags:before{content:"\e042"}.ptx-runestone-container .glyphicon-book:before,.runestone-sphinx .glyphicon-book:before{content:"\e043"}.ptx-runestone-container .glyphicon-bookmark:before,.runestone-sphinx .glyphicon-bookmark:before{content:"\e044"}.ptx-runestone-container .glyphicon-print:before,.runestone-sphinx .glyphicon-print:before{content:"\e045"}.ptx-runestone-container .glyphicon-camera:before,.runestone-sphinx .glyphicon-camera:before{content:"\e046"}.ptx-runestone-container .glyphicon-font:before,.runestone-sphinx .glyphicon-font:before{content:"\e047"}.ptx-runestone-container .glyphicon-bold:before,.runestone-sphinx .glyphicon-bold:before{content:"\e048"}.ptx-runestone-container .glyphicon-italic:before,.runestone-sphinx .glyphicon-italic:before{content:"\e049"}.ptx-runestone-container .glyphicon-text-height:before,.runestone-sphinx .glyphicon-text-height:before{content:"\e050"}.ptx-runestone-container .glyphicon-text-width:before,.runestone-sphinx .glyphicon-text-width:before{content:"\e051"}.ptx-runestone-container .glyphicon-align-left:before,.runestone-sphinx .glyphicon-align-left:before{content:"\e052"}.ptx-runestone-container .glyphicon-align-center:before,.runestone-sphinx .glyphicon-align-center:before{content:"\e053"}.ptx-runestone-container .glyphicon-align-right:before,.runestone-sphinx .glyphicon-align-right:before{content:"\e054"}.ptx-runestone-container .glyphicon-align-justify:before,.runestone-sphinx .glyphicon-align-justify:before{content:"\e055"}.ptx-runestone-container .glyphicon-list:before,.runestone-sphinx .glyphicon-list:before{content:"\e056"}.ptx-runestone-container .glyphicon-indent-left:before,.runestone-sphinx .glyphicon-indent-left:before{content:"\e057"}.ptx-runestone-container .glyphicon-indent-right:before,.runestone-sphinx .glyphicon-indent-right:before{content:"\e058"}.ptx-runestone-container .glyphicon-facetime-video:before,.runestone-sphinx .glyphicon-facetime-video:before{content:"\e059"}.ptx-runestone-container .glyphicon-picture:before,.runestone-sphinx .glyphicon-picture:before{content:"\e060"}.ptx-runestone-container .glyphicon-map-marker:before,.runestone-sphinx .glyphicon-map-marker:before{content:"\e062"}.ptx-runestone-container .glyphicon-adjust:before,.runestone-sphinx .glyphicon-adjust:before{content:"\e063"}.ptx-runestone-container .glyphicon-tint:before,.runestone-sphinx .glyphicon-tint:before{content:"\e064"}.ptx-runestone-container .glyphicon-edit:before,.runestone-sphinx .glyphicon-edit:before{content:"\e065"}.ptx-runestone-container .glyphicon-share:before,.runestone-sphinx .glyphicon-share:before{content:"\e066"}.ptx-runestone-container .glyphicon-check:before,.runestone-sphinx .glyphicon-check:before{content:"\e067"}.ptx-runestone-container .glyphicon-move:before,.runestone-sphinx .glyphicon-move:before{content:"\e068"}.ptx-runestone-container .glyphicon-step-backward:before,.runestone-sphinx .glyphicon-step-backward:before{content:"\e069"}.ptx-runestone-container .glyphicon-fast-backward:before,.runestone-sphinx .glyphicon-fast-backward:before{content:"\e070"}.ptx-runestone-container .glyphicon-backward:before,.runestone-sphinx .glyphicon-backward:before{content:"\e071"}.ptx-runestone-container .glyphicon-play:before,.runestone-sphinx .glyphicon-play:before{content:"\e072"}.ptx-runestone-container .glyphicon-pause:before,.runestone-sphinx .glyphicon-pause:before{content:"\e073"}.ptx-runestone-container .glyphicon-stop:before,.runestone-sphinx .glyphicon-stop:before{content:"\e074"}.ptx-runestone-container .glyphicon-forward:before,.runestone-sphinx .glyphicon-forward:before{content:"\e075"}.ptx-runestone-container .glyphicon-fast-forward:before,.runestone-sphinx .glyphicon-fast-forward:before{content:"\e076"}.ptx-runestone-container .glyphicon-step-forward:before,.runestone-sphinx .glyphicon-step-forward:before{content:"\e077"}.ptx-runestone-container .glyphicon-eject:before,.runestone-sphinx .glyphicon-eject:before{content:"\e078"}.ptx-runestone-container .glyphicon-chevron-left:before,.runestone-sphinx .glyphicon-chevron-left:before{content:"\e079"}.ptx-runestone-container .glyphicon-chevron-right:before,.runestone-sphinx .glyphicon-chevron-right:before{content:"\e080"}.ptx-runestone-container .glyphicon-plus-sign:before,.runestone-sphinx .glyphicon-plus-sign:before{content:"\e081"}.ptx-runestone-container .glyphicon-minus-sign:before,.runestone-sphinx .glyphicon-minus-sign:before{content:"\e082"}.ptx-runestone-container .glyphicon-remove-sign:before,.runestone-sphinx .glyphicon-remove-sign:before{content:"\e083"}.ptx-runestone-container .glyphicon-ok-sign:before,.runestone-sphinx .glyphicon-ok-sign:before{content:"\e084"}.ptx-runestone-container .glyphicon-question-sign:before,.runestone-sphinx .glyphicon-question-sign:before{content:"\e085"}.ptx-runestone-container .glyphicon-info-sign:before,.runestone-sphinx .glyphicon-info-sign:before{content:"\e086"}.ptx-runestone-container .glyphicon-screenshot:before,.runestone-sphinx .glyphicon-screenshot:before{content:"\e087"}.ptx-runestone-container .glyphicon-remove-circle:before,.runestone-sphinx .glyphicon-remove-circle:before{content:"\e088"}.ptx-runestone-container .glyphicon-ok-circle:before,.runestone-sphinx .glyphicon-ok-circle:before{content:"\e089"}.ptx-runestone-container .glyphicon-ban-circle:before,.runestone-sphinx .glyphicon-ban-circle:before{content:"\e090"}.ptx-runestone-container .glyphicon-arrow-left:before,.runestone-sphinx .glyphicon-arrow-left:before{content:"\e091"}.ptx-runestone-container .glyphicon-arrow-right:before,.runestone-sphinx .glyphicon-arrow-right:before{content:"\e092"}.ptx-runestone-container .glyphicon-arrow-up:before,.runestone-sphinx .glyphicon-arrow-up:before{content:"\e093"}.ptx-runestone-container .glyphicon-arrow-down:before,.runestone-sphinx .glyphicon-arrow-down:before{content:"\e094"}.ptx-runestone-container .glyphicon-share-alt:before,.runestone-sphinx .glyphicon-share-alt:before{content:"\e095"}.ptx-runestone-container .glyphicon-resize-full:before,.runestone-sphinx .glyphicon-resize-full:before{content:"\e096"}.ptx-runestone-container .glyphicon-resize-small:before,.runestone-sphinx .glyphicon-resize-small:before{content:"\e097"}.ptx-runestone-container .glyphicon-exclamation-sign:before,.runestone-sphinx .glyphicon-exclamation-sign:before{content:"\e101"}.ptx-runestone-container .glyphicon-gift:before,.runestone-sphinx .glyphicon-gift:before{content:"\e102"}.ptx-runestone-container .glyphicon-leaf:before,.runestone-sphinx .glyphicon-leaf:before{content:"\e103"}.ptx-runestone-container .glyphicon-fire:before,.runestone-sphinx .glyphicon-fire:before{content:"\e104"}.ptx-runestone-container .glyphicon-eye-open:before,.runestone-sphinx .glyphicon-eye-open:before{content:"\e105"}.ptx-runestone-container .glyphicon-eye-close:before,.runestone-sphinx .glyphicon-eye-close:before{content:"\e106"}.ptx-runestone-container .glyphicon-warning-sign:before,.runestone-sphinx .glyphicon-warning-sign:before{content:"\e107"}.ptx-runestone-container .glyphicon-plane:before,.runestone-sphinx .glyphicon-plane:before{content:"\e108"}.ptx-runestone-container .glyphicon-calendar:before,.runestone-sphinx .glyphicon-calendar:before{content:"\e109"}.ptx-runestone-container .glyphicon-random:before,.runestone-sphinx .glyphicon-random:before{content:"\e110"}.ptx-runestone-container .glyphicon-comment:before,.runestone-sphinx .glyphicon-comment:before{content:"\e111"}.ptx-runestone-container .glyphicon-magnet:before,.runestone-sphinx .glyphicon-magnet:before{content:"\e112"}.ptx-runestone-container .glyphicon-chevron-up:before,.runestone-sphinx .glyphicon-chevron-up:before{content:"\e113"}.ptx-runestone-container .glyphicon-chevron-down:before,.runestone-sphinx .glyphicon-chevron-down:before{content:"\e114"}.ptx-runestone-container .glyphicon-retweet:before,.runestone-sphinx .glyphicon-retweet:before{content:"\e115"}.ptx-runestone-container .glyphicon-shopping-cart:before,.runestone-sphinx .glyphicon-shopping-cart:before{content:"\e116"}.ptx-runestone-container .glyphicon-folder-close:before,.runestone-sphinx .glyphicon-folder-close:before{content:"\e117"}.ptx-runestone-container .glyphicon-folder-open:before,.runestone-sphinx .glyphicon-folder-open:before{content:"\e118"}.ptx-runestone-container .glyphicon-resize-vertical:before,.runestone-sphinx .glyphicon-resize-vertical:before{content:"\e119"}.ptx-runestone-container .glyphicon-resize-horizontal:before,.runestone-sphinx .glyphicon-resize-horizontal:before{content:"\e120"}.ptx-runestone-container .glyphicon-hdd:before,.runestone-sphinx .glyphicon-hdd:before{content:"\e121"}.ptx-runestone-container .glyphicon-bullhorn:before,.runestone-sphinx .glyphicon-bullhorn:before{content:"\e122"}.ptx-runestone-container .glyphicon-bell:before,.runestone-sphinx .glyphicon-bell:before{content:"\e123"}.ptx-runestone-container .glyphicon-certificate:before,.runestone-sphinx .glyphicon-certificate:before{content:"\e124"}.ptx-runestone-container .glyphicon-thumbs-up:before,.runestone-sphinx .glyphicon-thumbs-up:before{content:"\e125"}.ptx-runestone-container .glyphicon-thumbs-down:before,.runestone-sphinx .glyphicon-thumbs-down:before{content:"\e126"}.ptx-runestone-container .glyphicon-hand-right:before,.runestone-sphinx .glyphicon-hand-right:before{content:"\e127"}.ptx-runestone-container .glyphicon-hand-left:before,.runestone-sphinx .glyphicon-hand-left:before{content:"\e128"}.ptx-runestone-container .glyphicon-hand-up:before,.runestone-sphinx .glyphicon-hand-up:before{content:"\e129"}.ptx-runestone-container .glyphicon-hand-down:before,.runestone-sphinx .glyphicon-hand-down:before{content:"\e130"}.ptx-runestone-container .glyphicon-circle-arrow-right:before,.runestone-sphinx .glyphicon-circle-arrow-right:before{content:"\e131"}.ptx-runestone-container .glyphicon-circle-arrow-left:before,.runestone-sphinx .glyphicon-circle-arrow-left:before{content:"\e132"}.ptx-runestone-container .glyphicon-circle-arrow-up:before,.runestone-sphinx .glyphicon-circle-arrow-up:before{content:"\e133"}.ptx-runestone-container .glyphicon-circle-arrow-down:before,.runestone-sphinx .glyphicon-circle-arrow-down:before{content:"\e134"}.ptx-runestone-container .glyphicon-globe:before,.runestone-sphinx .glyphicon-globe:before{content:"\e135"}.ptx-runestone-container .glyphicon-wrench:before,.runestone-sphinx .glyphicon-wrench:before{content:"\e136"}.ptx-runestone-container .glyphicon-tasks:before,.runestone-sphinx .glyphicon-tasks:before{content:"\e137"}.ptx-runestone-container .glyphicon-filter:before,.runestone-sphinx .glyphicon-filter:before{content:"\e138"}.ptx-runestone-container .glyphicon-briefcase:before,.runestone-sphinx .glyphicon-briefcase:before{content:"\e139"}.ptx-runestone-container .glyphicon-fullscreen:before,.runestone-sphinx .glyphicon-fullscreen:before{content:"\e140"}.ptx-runestone-container .glyphicon-dashboard:before,.runestone-sphinx .glyphicon-dashboard:before{content:"\e141"}.ptx-runestone-container .glyphicon-paperclip:before,.runestone-sphinx .glyphicon-paperclip:before{content:"\e142"}.ptx-runestone-container .glyphicon-heart-empty:before,.runestone-sphinx .glyphicon-heart-empty:before{content:"\e143"}.ptx-runestone-container .glyphicon-link:before,.runestone-sphinx .glyphicon-link:before{content:"\e144"}.ptx-runestone-container .glyphicon-phone:before,.runestone-sphinx .glyphicon-phone:before{content:"\e145"}.ptx-runestone-container .glyphicon-pushpin:before,.runestone-sphinx .glyphicon-pushpin:before{content:"\e146"}.ptx-runestone-container .glyphicon-usd:before,.runestone-sphinx .glyphicon-usd:before{content:"\e148"}.ptx-runestone-container .glyphicon-gbp:before,.runestone-sphinx .glyphicon-gbp:before{content:"\e149"}.ptx-runestone-container .glyphicon-sort:before,.runestone-sphinx .glyphicon-sort:before{content:"\e150"}.ptx-runestone-container .glyphicon-sort-by-alphabet:before,.runestone-sphinx .glyphicon-sort-by-alphabet:before{content:"\e151"}.ptx-runestone-container .glyphicon-sort-by-alphabet-alt:before,.runestone-sphinx .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.ptx-runestone-container .glyphicon-sort-by-order:before,.runestone-sphinx .glyphicon-sort-by-order:before{content:"\e153"}.ptx-runestone-container .glyphicon-sort-by-order-alt:before,.runestone-sphinx .glyphicon-sort-by-order-alt:before{content:"\e154"}.ptx-runestone-container .glyphicon-sort-by-attributes:before,.runestone-sphinx .glyphicon-sort-by-attributes:before{content:"\e155"}.ptx-runestone-container .glyphicon-sort-by-attributes-alt:before,.runestone-sphinx .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.ptx-runestone-container .glyphicon-unchecked:before,.runestone-sphinx .glyphicon-unchecked:before{content:"\e157"}.ptx-runestone-container .glyphicon-expand:before,.runestone-sphinx .glyphicon-expand:before{content:"\e158"}.ptx-runestone-container .glyphicon-collapse-down:before,.runestone-sphinx .glyphicon-collapse-down:before{content:"\e159"}.ptx-runestone-container .glyphicon-collapse-up:before,.runestone-sphinx .glyphicon-collapse-up:before{content:"\e160"}.ptx-runestone-container .glyphicon-log-in:before,.runestone-sphinx .glyphicon-log-in:before{content:"\e161"}.ptx-runestone-container .glyphicon-flash:before,.runestone-sphinx .glyphicon-flash:before{content:"\e162"}.ptx-runestone-container .glyphicon-log-out:before,.runestone-sphinx .glyphicon-log-out:before{content:"\e163"}.ptx-runestone-container .glyphicon-new-window:before,.runestone-sphinx .glyphicon-new-window:before{content:"\e164"}.ptx-runestone-container .glyphicon-record:before,.runestone-sphinx .glyphicon-record:before{content:"\e165"}.ptx-runestone-container .glyphicon-save:before,.runestone-sphinx .glyphicon-save:before{content:"\e166"}.ptx-runestone-container .glyphicon-open:before,.runestone-sphinx .glyphicon-open:before{content:"\e167"}.ptx-runestone-container .glyphicon-saved:before,.runestone-sphinx .glyphicon-saved:before{content:"\e168"}.ptx-runestone-container .glyphicon-import:before,.runestone-sphinx .glyphicon-import:before{content:"\e169"}.ptx-runestone-container .glyphicon-export:before,.runestone-sphinx .glyphicon-export:before{content:"\e170"}.ptx-runestone-container .glyphicon-send:before,.runestone-sphinx .glyphicon-send:before{content:"\e171"}.ptx-runestone-container .glyphicon-floppy-disk:before,.runestone-sphinx .glyphicon-floppy-disk:before{content:"\e172"}.ptx-runestone-container .glyphicon-floppy-saved:before,.runestone-sphinx .glyphicon-floppy-saved:before{content:"\e173"}.ptx-runestone-container .glyphicon-floppy-remove:before,.runestone-sphinx .glyphicon-floppy-remove:before{content:"\e174"}.ptx-runestone-container .glyphicon-floppy-save:before,.runestone-sphinx .glyphicon-floppy-save:before{content:"\e175"}.ptx-runestone-container .glyphicon-floppy-open:before,.runestone-sphinx .glyphicon-floppy-open:before{content:"\e176"}.ptx-runestone-container .glyphicon-credit-card:before,.runestone-sphinx .glyphicon-credit-card:before{content:"\e177"}.ptx-runestone-container .glyphicon-transfer:before,.runestone-sphinx .glyphicon-transfer:before{content:"\e178"}.ptx-runestone-container .glyphicon-cutlery:before,.runestone-sphinx .glyphicon-cutlery:before{content:"\e179"}.ptx-runestone-container .glyphicon-header:before,.runestone-sphinx .glyphicon-header:before{content:"\e180"}.ptx-runestone-container .glyphicon-compressed:before,.runestone-sphinx .glyphicon-compressed:before{content:"\e181"}.ptx-runestone-container .glyphicon-earphone:before,.runestone-sphinx .glyphicon-earphone:before{content:"\e182"}.ptx-runestone-container .glyphicon-phone-alt:before,.runestone-sphinx .glyphicon-phone-alt:before{content:"\e183"}.ptx-runestone-container .glyphicon-tower:before,.runestone-sphinx .glyphicon-tower:before{content:"\e184"}.ptx-runestone-container .glyphicon-stats:before,.runestone-sphinx .glyphicon-stats:before{content:"\e185"}.ptx-runestone-container .glyphicon-sd-video:before,.runestone-sphinx .glyphicon-sd-video:before{content:"\e186"}.ptx-runestone-container .glyphicon-hd-video:before,.runestone-sphinx .glyphicon-hd-video:before{content:"\e187"}.ptx-runestone-container .glyphicon-subtitles:before,.runestone-sphinx .glyphicon-subtitles:before{content:"\e188"}.ptx-runestone-container .glyphicon-sound-stereo:before,.runestone-sphinx .glyphicon-sound-stereo:before{content:"\e189"}.ptx-runestone-container .glyphicon-sound-dolby:before,.runestone-sphinx .glyphicon-sound-dolby:before{content:"\e190"}.ptx-runestone-container .glyphicon-sound-5-1:before,.runestone-sphinx .glyphicon-sound-5-1:before{content:"\e191"}.ptx-runestone-container .glyphicon-sound-6-1:before,.runestone-sphinx .glyphicon-sound-6-1:before{content:"\e192"}.ptx-runestone-container .glyphicon-sound-7-1:before,.runestone-sphinx .glyphicon-sound-7-1:before{content:"\e193"}.ptx-runestone-container .glyphicon-copyright-mark:before,.runestone-sphinx .glyphicon-copyright-mark:before{content:"\e194"}.ptx-runestone-container .glyphicon-registration-mark:before,.runestone-sphinx .glyphicon-registration-mark:before{content:"\e195"}.ptx-runestone-container .glyphicon-cloud-download:before,.runestone-sphinx .glyphicon-cloud-download:before{content:"\e197"}.ptx-runestone-container .glyphicon-cloud-upload:before,.runestone-sphinx .glyphicon-cloud-upload:before{content:"\e198"}.ptx-runestone-container .glyphicon-tree-conifer:before,.runestone-sphinx .glyphicon-tree-conifer:before{content:"\e199"}.ptx-runestone-container .glyphicon-tree-deciduous:before,.runestone-sphinx .glyphicon-tree-deciduous:before{content:"\e200"}.ptx-runestone-container .glyphicon-cd:before,.runestone-sphinx .glyphicon-cd:before{content:"\e201"}.ptx-runestone-container .glyphicon-save-file:before,.runestone-sphinx .glyphicon-save-file:before{content:"\e202"}.ptx-runestone-container .glyphicon-open-file:before,.runestone-sphinx .glyphicon-open-file:before{content:"\e203"}.ptx-runestone-container .glyphicon-level-up:before,.runestone-sphinx .glyphicon-level-up:before{content:"\e204"}.ptx-runestone-container .glyphicon-copy:before,.runestone-sphinx .glyphicon-copy:before{content:"\e205"}.ptx-runestone-container .glyphicon-paste:before,.runestone-sphinx .glyphicon-paste:before{content:"\e206"}.ptx-runestone-container .glyphicon-alert:before,.runestone-sphinx .glyphicon-alert:before{content:"\e209"}.ptx-runestone-container .glyphicon-equalizer:before,.runestone-sphinx .glyphicon-equalizer:before{content:"\e210"}.ptx-runestone-container .glyphicon-king:before,.runestone-sphinx .glyphicon-king:before{content:"\e211"}.ptx-runestone-container .glyphicon-queen:before,.runestone-sphinx .glyphicon-queen:before{content:"\e212"}.ptx-runestone-container .glyphicon-pawn:before,.runestone-sphinx .glyphicon-pawn:before{content:"\e213"}.ptx-runestone-container .glyphicon-bishop:before,.runestone-sphinx .glyphicon-bishop:before{content:"\e214"}.ptx-runestone-container .glyphicon-knight:before,.runestone-sphinx .glyphicon-knight:before{content:"\e215"}.ptx-runestone-container .glyphicon-baby-formula:before,.runestone-sphinx .glyphicon-baby-formula:before{content:"\e216"}.ptx-runestone-container .glyphicon-tent:before,.runestone-sphinx .glyphicon-tent:before{content:"\26fa"}.ptx-runestone-container .glyphicon-blackboard:before,.runestone-sphinx .glyphicon-blackboard:before{content:"\e218"}.ptx-runestone-container .glyphicon-bed:before,.runestone-sphinx .glyphicon-bed:before{content:"\e219"}.ptx-runestone-container .glyphicon-apple:before,.runestone-sphinx .glyphicon-apple:before{content:"\f8ff"}.ptx-runestone-container .glyphicon-erase:before,.runestone-sphinx .glyphicon-erase:before{content:"\e221"}.ptx-runestone-container .glyphicon-hourglass:before,.runestone-sphinx .glyphicon-hourglass:before{content:"\231b"}.ptx-runestone-container .glyphicon-lamp:before,.runestone-sphinx .glyphicon-lamp:before{content:"\e223"}.ptx-runestone-container .glyphicon-duplicate:before,.runestone-sphinx .glyphicon-duplicate:before{content:"\e224"}.ptx-runestone-container .glyphicon-piggy-bank:before,.runestone-sphinx .glyphicon-piggy-bank:before{content:"\e225"}.ptx-runestone-container .glyphicon-scissors:before,.runestone-sphinx .glyphicon-scissors:before{content:"\e226"}.ptx-runestone-container .glyphicon-bitcoin:before,.ptx-runestone-container .glyphicon-btc:before,.ptx-runestone-container .glyphicon-xbt:before,.runestone-sphinx .glyphicon-bitcoin:before,.runestone-sphinx .glyphicon-btc:before,.runestone-sphinx .glyphicon-xbt:before{content:"\e227"}.ptx-runestone-container .glyphicon-jpy:before,.ptx-runestone-container .glyphicon-yen:before,.runestone-sphinx .glyphicon-jpy:before,.runestone-sphinx .glyphicon-yen:before{content:"\00a5"}.ptx-runestone-container .glyphicon-rub:before,.ptx-runestone-container .glyphicon-ruble:before,.runestone-sphinx .glyphicon-rub:before,.runestone-sphinx .glyphicon-ruble:before{content:"\20bd"}.ptx-runestone-container .glyphicon-scale:before,.runestone-sphinx .glyphicon-scale:before{content:"\e230"}.ptx-runestone-container .glyphicon-ice-lolly:before,.runestone-sphinx .glyphicon-ice-lolly:before{content:"\e231"}.ptx-runestone-container .glyphicon-ice-lolly-tasted:before,.runestone-sphinx .glyphicon-ice-lolly-tasted:before{content:"\e232"}.ptx-runestone-container .glyphicon-education:before,.runestone-sphinx .glyphicon-education:before{content:"\e233"}.ptx-runestone-container .glyphicon-option-horizontal:before,.runestone-sphinx .glyphicon-option-horizontal:before{content:"\e234"}.ptx-runestone-container .glyphicon-option-vertical:before,.runestone-sphinx .glyphicon-option-vertical:before{content:"\e235"}.ptx-runestone-container .glyphicon-menu-hamburger:before,.runestone-sphinx .glyphicon-menu-hamburger:before{content:"\e236"}.ptx-runestone-container .glyphicon-modal-window:before,.runestone-sphinx .glyphicon-modal-window:before{content:"\e237"}.ptx-runestone-container .glyphicon-oil:before,.runestone-sphinx .glyphicon-oil:before{content:"\e238"}.ptx-runestone-container .glyphicon-grain:before,.runestone-sphinx .glyphicon-grain:before{content:"\e239"}.ptx-runestone-container .glyphicon-sunglasses:before,.runestone-sphinx .glyphicon-sunglasses:before{content:"\e240"}.ptx-runestone-container .glyphicon-text-size:before,.runestone-sphinx .glyphicon-text-size:before{content:"\e241"}.ptx-runestone-container .glyphicon-text-color:before,.runestone-sphinx .glyphicon-text-color:before{content:"\e242"}.ptx-runestone-container .glyphicon-text-background:before,.runestone-sphinx .glyphicon-text-background:before{content:"\e243"}.ptx-runestone-container .glyphicon-object-align-top:before,.runestone-sphinx .glyphicon-object-align-top:before{content:"\e244"}.ptx-runestone-container .glyphicon-object-align-bottom:before,.runestone-sphinx .glyphicon-object-align-bottom:before{content:"\e245"}.ptx-runestone-container .glyphicon-object-align-horizontal:before,.runestone-sphinx .glyphicon-object-align-horizontal:before{content:"\e246"}.ptx-runestone-container .glyphicon-object-align-left:before,.runestone-sphinx .glyphicon-object-align-left:before{content:"\e247"}.ptx-runestone-container .glyphicon-object-align-vertical:before,.runestone-sphinx .glyphicon-object-align-vertical:before{content:"\e248"}.ptx-runestone-container .glyphicon-object-align-right:before,.runestone-sphinx .glyphicon-object-align-right:before{content:"\e249"}.ptx-runestone-container .glyphicon-triangle-right:before,.runestone-sphinx .glyphicon-triangle-right:before{content:"\e250"}.ptx-runestone-container .glyphicon-triangle-left:before,.runestone-sphinx .glyphicon-triangle-left:before{content:"\e251"}.ptx-runestone-container .glyphicon-triangle-bottom:before,.runestone-sphinx .glyphicon-triangle-bottom:before{content:"\e252"}.ptx-runestone-container .glyphicon-triangle-top:before,.runestone-sphinx .glyphicon-triangle-top:before{content:"\e253"}.ptx-runestone-container .glyphicon-console:before,.runestone-sphinx .glyphicon-console:before{content:"\e254"}.ptx-runestone-container .glyphicon-superscript:before,.runestone-sphinx .glyphicon-superscript:before{content:"\e255"}.ptx-runestone-container .glyphicon-subscript:before,.runestone-sphinx .glyphicon-subscript:before{content:"\e256"}.ptx-runestone-container .glyphicon-menu-left:before,.runestone-sphinx .glyphicon-menu-left:before{content:"\e257"}.ptx-runestone-container .glyphicon-menu-right:before,.runestone-sphinx .glyphicon-menu-right:before{content:"\e258"}.ptx-runestone-container .glyphicon-menu-down:before,.runestone-sphinx .glyphicon-menu-down:before{content:"\e259"}.ptx-runestone-container .glyphicon-menu-up:before,.runestone-sphinx .glyphicon-menu-up:before{content:"\e260"}.ptx-runestone-container *,.ptx-runestone-container :after,.ptx-runestone-container :before,.runestone-sphinx *,.runestone-sphinx :after,.runestone-sphinx :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ptx-runestone-container html,.runestone-sphinx html{-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:10px}.ptx-runestone-container body,.runestone-sphinx body{background-color:#fff;color:#333;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143}.ptx-runestone-container button,.ptx-runestone-container input,.ptx-runestone-container select,.ptx-runestone-container textarea,.runestone-sphinx button,.runestone-sphinx input,.runestone-sphinx select,.runestone-sphinx textarea{font-family:inherit;font-size:inherit;line-height:inherit}.ptx-runestone-container a,.runestone-sphinx a{color:#337ab7;text-decoration:none}.ptx-runestone-container a:focus,.ptx-runestone-container a:hover,.runestone-sphinx a:focus,.runestone-sphinx a:hover{color:#23527c;text-decoration:underline}.ptx-runestone-container a:focus,.runestone-sphinx a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.ptx-runestone-container figure,.runestone-sphinx figure{margin:0}.ptx-runestone-container img,.runestone-sphinx img{vertical-align:middle}.ptx-runestone-container .carousel-inner>.item>a>img,.ptx-runestone-container .carousel-inner>.item>img,.ptx-runestone-container .img-responsive,.ptx-runestone-container .thumbnail a>img,.ptx-runestone-container .thumbnail>img,.runestone-sphinx .carousel-inner>.item>a>img,.runestone-sphinx .carousel-inner>.item>img,.runestone-sphinx .img-responsive,.runestone-sphinx .thumbnail a>img,.runestone-sphinx .thumbnail>img{display:block;height:auto;max-width:100%}.ptx-runestone-container .img-rounded,.runestone-sphinx .img-rounded{border-radius:6px}.ptx-runestone-container .img-thumbnail,.runestone-sphinx .img-thumbnail{background-color:#fff;border:1px solid #ddd;border-radius:4px;display:inline-block;height:auto;line-height:1.42857143;max-width:100%;padding:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.ptx-runestone-container .img-circle,.runestone-sphinx .img-circle{border-radius:50%}.ptx-runestone-container hr,.runestone-sphinx hr{border:0;border-top:1px solid #eee;margin-bottom:20px;margin-top:20px}.ptx-runestone-container .sr-only,.runestone-sphinx .sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ptx-runestone-container .sr-only-focusable:active,.ptx-runestone-container .sr-only-focusable:focus,.runestone-sphinx .sr-only-focusable:active,.runestone-sphinx .sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.ptx-runestone-container [role=button],.runestone-sphinx [role=button]{cursor:pointer}.ptx-runestone-container .h1,.ptx-runestone-container .h2,.ptx-runestone-container .h3,.ptx-runestone-container .h4,.ptx-runestone-container .h5,.ptx-runestone-container .h6,.ptx-runestone-container h1,.ptx-runestone-container h2,.ptx-runestone-container h3,.ptx-runestone-container h4,.ptx-runestone-container h5,.ptx-runestone-container h6,.runestone-sphinx .h1,.runestone-sphinx .h2,.runestone-sphinx .h3,.runestone-sphinx .h4,.runestone-sphinx .h5,.runestone-sphinx .h6,.runestone-sphinx h1,.runestone-sphinx h2,.runestone-sphinx h3,.runestone-sphinx h4,.runestone-sphinx h5,.runestone-sphinx h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.1}.ptx-runestone-container .h1 .small,.ptx-runestone-container .h1 small,.ptx-runestone-container .h2 .small,.ptx-runestone-container .h2 small,.ptx-runestone-container .h3 .small,.ptx-runestone-container .h3 small,.ptx-runestone-container .h4 .small,.ptx-runestone-container .h4 small,.ptx-runestone-container .h5 .small,.ptx-runestone-container .h5 small,.ptx-runestone-container .h6 .small,.ptx-runestone-container .h6 small,.ptx-runestone-container h1 .small,.ptx-runestone-container h1 small,.ptx-runestone-container h2 .small,.ptx-runestone-container h2 small,.ptx-runestone-container h3 .small,.ptx-runestone-container h3 small,.ptx-runestone-container h4 .small,.ptx-runestone-container h4 small,.ptx-runestone-container h5 .small,.ptx-runestone-container h5 small,.ptx-runestone-container h6 .small,.ptx-runestone-container h6 small,.runestone-sphinx .h1 .small,.runestone-sphinx .h1 small,.runestone-sphinx .h2 .small,.runestone-sphinx .h2 small,.runestone-sphinx .h3 .small,.runestone-sphinx .h3 small,.runestone-sphinx .h4 .small,.runestone-sphinx .h4 small,.runestone-sphinx .h5 .small,.runestone-sphinx .h5 small,.runestone-sphinx .h6 .small,.runestone-sphinx .h6 small,.runestone-sphinx h1 .small,.runestone-sphinx h1 small,.runestone-sphinx h2 .small,.runestone-sphinx h2 small,.runestone-sphinx h3 .small,.runestone-sphinx h3 small,.runestone-sphinx h4 .small,.runestone-sphinx h4 small,.runestone-sphinx h5 .small,.runestone-sphinx h5 small,.runestone-sphinx h6 .small,.runestone-sphinx h6 small{color:#777;font-weight:400;line-height:1}.ptx-runestone-container .h1,.ptx-runestone-container .h2,.ptx-runestone-container .h3,.ptx-runestone-container h1,.ptx-runestone-container h2,.ptx-runestone-container h3,.runestone-sphinx .h1,.runestone-sphinx .h2,.runestone-sphinx .h3,.runestone-sphinx h1,.runestone-sphinx h2,.runestone-sphinx h3{margin-bottom:10px;margin-top:20px}.ptx-runestone-container .h1 .small,.ptx-runestone-container .h1 small,.ptx-runestone-container .h2 .small,.ptx-runestone-container .h2 small,.ptx-runestone-container .h3 .small,.ptx-runestone-container .h3 small,.ptx-runestone-container h1 .small,.ptx-runestone-container h1 small,.ptx-runestone-container h2 .small,.ptx-runestone-container h2 small,.ptx-runestone-container h3 .small,.ptx-runestone-container h3 small,.runestone-sphinx .h1 .small,.runestone-sphinx .h1 small,.runestone-sphinx .h2 .small,.runestone-sphinx .h2 small,.runestone-sphinx .h3 .small,.runestone-sphinx .h3 small,.runestone-sphinx h1 .small,.runestone-sphinx h1 small,.runestone-sphinx h2 .small,.runestone-sphinx h2 small,.runestone-sphinx h3 .small,.runestone-sphinx h3 small{font-size:65%}.ptx-runestone-container .h4,.ptx-runestone-container .h5,.ptx-runestone-container .h6,.ptx-runestone-container h4,.ptx-runestone-container h5,.ptx-runestone-container h6,.runestone-sphinx .h4,.runestone-sphinx .h5,.runestone-sphinx .h6,.runestone-sphinx h4,.runestone-sphinx h5,.runestone-sphinx h6{margin-bottom:10px;margin-top:10px}.ptx-runestone-container .h4 .small,.ptx-runestone-container .h4 small,.ptx-runestone-container .h5 .small,.ptx-runestone-container .h5 small,.ptx-runestone-container .h6 .small,.ptx-runestone-container .h6 small,.ptx-runestone-container h4 .small,.ptx-runestone-container h4 small,.ptx-runestone-container h5 .small,.ptx-runestone-container h5 small,.ptx-runestone-container h6 .small,.ptx-runestone-container h6 small,.runestone-sphinx .h4 .small,.runestone-sphinx .h4 small,.runestone-sphinx .h5 .small,.runestone-sphinx .h5 small,.runestone-sphinx .h6 .small,.runestone-sphinx .h6 small,.runestone-sphinx h4 .small,.runestone-sphinx h4 small,.runestone-sphinx h5 .small,.runestone-sphinx h5 small,.runestone-sphinx h6 .small,.runestone-sphinx h6 small{font-size:75%}.ptx-runestone-container .h1,.ptx-runestone-container h1,.runestone-sphinx .h1,.runestone-sphinx h1{font-size:36px}.ptx-runestone-container .h2,.ptx-runestone-container h2,.runestone-sphinx .h2,.runestone-sphinx h2{font-size:30px}.ptx-runestone-container .h3,.ptx-runestone-container h3,.runestone-sphinx .h3,.runestone-sphinx h3{font-size:24px}.ptx-runestone-container .h4,.ptx-runestone-container h4,.runestone-sphinx .h4,.runestone-sphinx h4{font-size:18px}.ptx-runestone-container .h5,.ptx-runestone-container h5,.runestone-sphinx .h5,.runestone-sphinx h5{font-size:14px}.ptx-runestone-container .h6,.ptx-runestone-container h6,.runestone-sphinx .h6,.runestone-sphinx h6{font-size:12px}.ptx-runestone-container p,.runestone-sphinx p{margin:0 0 10px}.ptx-runestone-container .lead,.runestone-sphinx .lead{font-size:16px;font-weight:300;line-height:1.4;margin-bottom:20px}@media (min-width:768px){.ptx-runestone-container .lead,.runestone-sphinx .lead{font-size:21px}}.ptx-runestone-container .small,.ptx-runestone-container small,.runestone-sphinx .small,.runestone-sphinx small{font-size:85%}.ptx-runestone-container .mark,.ptx-runestone-container mark,.runestone-sphinx .mark,.runestone-sphinx mark{background-color:#fcf8e3;padding:.2em}.ptx-runestone-container .text-left,.runestone-sphinx .text-left{text-align:left}.ptx-runestone-container .text-right,.runestone-sphinx .text-right{text-align:right}.ptx-runestone-container .text-center,.runestone-sphinx .text-center{text-align:center}.ptx-runestone-container .text-justify,.runestone-sphinx .text-justify{text-align:justify}.ptx-runestone-container .text-nowrap,.runestone-sphinx .text-nowrap{white-space:nowrap}.ptx-runestone-container .text-lowercase,.runestone-sphinx .text-lowercase{text-transform:lowercase}.ptx-runestone-container .text-uppercase,.runestone-sphinx .text-uppercase{text-transform:uppercase}.ptx-runestone-container .text-capitalize,.runestone-sphinx .text-capitalize{text-transform:capitalize}.ptx-runestone-container .text-muted,.runestone-sphinx .text-muted{color:#777}.ptx-runestone-container .text-primary,.runestone-sphinx .text-primary{color:#337ab7}.ptx-runestone-container a.text-primary:focus,.ptx-runestone-container a.text-primary:hover,.runestone-sphinx a.text-primary:focus,.runestone-sphinx a.text-primary:hover{color:#286090}.ptx-runestone-container .text-success,.runestone-sphinx .text-success{color:#3c763d}.ptx-runestone-container a.text-success:focus,.ptx-runestone-container a.text-success:hover,.runestone-sphinx a.text-success:focus,.runestone-sphinx a.text-success:hover{color:#2b542c}.ptx-runestone-container .text-info,.runestone-sphinx .text-info{color:#31708f}.ptx-runestone-container a.text-info:focus,.ptx-runestone-container a.text-info:hover,.runestone-sphinx a.text-info:focus,.runestone-sphinx a.text-info:hover{color:#245269}.ptx-runestone-container .text-warning,.runestone-sphinx .text-warning{color:#8a6d3b}.ptx-runestone-container a.text-warning:focus,.ptx-runestone-container a.text-warning:hover,.runestone-sphinx a.text-warning:focus,.runestone-sphinx a.text-warning:hover{color:#66512c}.ptx-runestone-container .text-danger,.runestone-sphinx .text-danger{color:#a94442}.ptx-runestone-container a.text-danger:focus,.ptx-runestone-container a.text-danger:hover,.runestone-sphinx a.text-danger:focus,.runestone-sphinx a.text-danger:hover{color:#843534}.ptx-runestone-container .bg-primary,.runestone-sphinx .bg-primary{background-color:#337ab7;color:#fff}.ptx-runestone-container a.bg-primary:focus,.ptx-runestone-container a.bg-primary:hover,.runestone-sphinx a.bg-primary:focus,.runestone-sphinx a.bg-primary:hover{background-color:#286090}.ptx-runestone-container .bg-success,.runestone-sphinx .bg-success{background-color:#dff0d8}.ptx-runestone-container a.bg-success:focus,.ptx-runestone-container a.bg-success:hover,.runestone-sphinx a.bg-success:focus,.runestone-sphinx a.bg-success:hover{background-color:#c1e2b3}.ptx-runestone-container .bg-info,.runestone-sphinx .bg-info{background-color:#d9edf7}.ptx-runestone-container a.bg-info:focus,.ptx-runestone-container a.bg-info:hover,.runestone-sphinx a.bg-info:focus,.runestone-sphinx a.bg-info:hover{background-color:#afd9ee}.ptx-runestone-container .bg-warning,.runestone-sphinx .bg-warning{background-color:#fcf8e3}.ptx-runestone-container a.bg-warning:focus,.ptx-runestone-container a.bg-warning:hover,.runestone-sphinx a.bg-warning:focus,.runestone-sphinx a.bg-warning:hover{background-color:#f7ecb5}.ptx-runestone-container .bg-danger,.runestone-sphinx .bg-danger{background-color:#f2dede}.ptx-runestone-container a.bg-danger:focus,.ptx-runestone-container a.bg-danger:hover,.runestone-sphinx a.bg-danger:focus,.runestone-sphinx a.bg-danger:hover{background-color:#e4b9b9}.ptx-runestone-container .page-header,.runestone-sphinx .page-header{border-bottom:1px solid #eee;margin:40px 0 20px;padding-bottom:9px}.ptx-runestone-container ol,.ptx-runestone-container ul,.runestone-sphinx ol,.runestone-sphinx ul{margin-bottom:10px;margin-top:0}.ptx-runestone-container ol ol,.ptx-runestone-container ol ul,.ptx-runestone-container ul ol,.ptx-runestone-container ul ul,.runestone-sphinx ol ol,.runestone-sphinx ol ul,.runestone-sphinx ul ol,.runestone-sphinx ul ul{margin-bottom:0}.ptx-runestone-container .list-unstyled,.runestone-sphinx .list-unstyled{list-style:none;padding-left:0}.ptx-runestone-container .list-inline,.runestone-sphinx .list-inline{list-style:none;margin-left:-5px;padding-left:0}.ptx-runestone-container .list-inline>li,.runestone-sphinx .list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}.ptx-runestone-container dl,.runestone-sphinx dl{margin-bottom:20px;margin-top:0}.ptx-runestone-container dd,.ptx-runestone-container dt,.runestone-sphinx dd,.runestone-sphinx dt{line-height:1.42857143}.ptx-runestone-container dt,.runestone-sphinx dt{font-weight:700}.ptx-runestone-container dd,.runestone-sphinx dd{margin-left:0}@media (min-width:768px){.ptx-runestone-container .dl-horizontal dt,.runestone-sphinx .dl-horizontal dt{clear:left;float:left;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:160px}.ptx-runestone-container .dl-horizontal dd,.runestone-sphinx .dl-horizontal dd{margin-left:180px}}.ptx-runestone-container abbr[data-original-title],.ptx-runestone-container abbr[title],.runestone-sphinx abbr[data-original-title],.runestone-sphinx abbr[title]{cursor:help}.ptx-runestone-container .initialism,.runestone-sphinx .initialism{font-size:90%;text-transform:uppercase}.ptx-runestone-container blockquote,.runestone-sphinx blockquote{border-left:5px solid #eee;font-size:17.5px;margin:0 0 20px;padding:10px 20px}.ptx-runestone-container blockquote ol:last-child,.ptx-runestone-container blockquote p:last-child,.ptx-runestone-container blockquote ul:last-child,.runestone-sphinx blockquote ol:last-child,.runestone-sphinx blockquote p:last-child,.runestone-sphinx blockquote ul:last-child{margin-bottom:0}.ptx-runestone-container blockquote .small,.ptx-runestone-container blockquote footer,.ptx-runestone-container blockquote small,.runestone-sphinx blockquote .small,.runestone-sphinx blockquote footer,.runestone-sphinx blockquote small{color:#777;display:block;font-size:80%;line-height:1.42857143}.ptx-runestone-container blockquote .small:before,.ptx-runestone-container blockquote footer:before,.ptx-runestone-container blockquote small:before,.runestone-sphinx blockquote .small:before,.runestone-sphinx blockquote footer:before,.runestone-sphinx blockquote small:before{content:"\2014 \00A0"}.ptx-runestone-container .blockquote-reverse,.ptx-runestone-container blockquote.pull-right,.runestone-sphinx .blockquote-reverse,.runestone-sphinx blockquote.pull-right{border-left:0;border-right:5px solid #eee;padding-left:0;padding-right:15px;text-align:right}.ptx-runestone-container .blockquote-reverse .small:before,.ptx-runestone-container .blockquote-reverse footer:before,.ptx-runestone-container .blockquote-reverse small:before,.ptx-runestone-container blockquote.pull-right .small:before,.ptx-runestone-container blockquote.pull-right footer:before,.ptx-runestone-container blockquote.pull-right small:before,.runestone-sphinx .blockquote-reverse .small:before,.runestone-sphinx .blockquote-reverse footer:before,.runestone-sphinx .blockquote-reverse small:before,.runestone-sphinx blockquote.pull-right .small:before,.runestone-sphinx blockquote.pull-right footer:before,.runestone-sphinx blockquote.pull-right small:before{content:""}.ptx-runestone-container .blockquote-reverse .small:after,.ptx-runestone-container .blockquote-reverse footer:after,.ptx-runestone-container .blockquote-reverse small:after,.ptx-runestone-container blockquote.pull-right .small:after,.ptx-runestone-container blockquote.pull-right footer:after,.ptx-runestone-container blockquote.pull-right small:after,.runestone-sphinx .blockquote-reverse .small:after,.runestone-sphinx .blockquote-reverse footer:after,.runestone-sphinx .blockquote-reverse small:after,.runestone-sphinx blockquote.pull-right .small:after,.runestone-sphinx blockquote.pull-right footer:after,.runestone-sphinx blockquote.pull-right small:after{content:"\00A0 \2014"}.ptx-runestone-container address,.runestone-sphinx address{font-style:normal;line-height:1.42857143;margin-bottom:20px}.ptx-runestone-container code,.ptx-runestone-container kbd,.ptx-runestone-container pre,.ptx-runestone-container samp,.runestone-sphinx code,.runestone-sphinx kbd,.runestone-sphinx pre,.runestone-sphinx samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.ptx-runestone-container code,.runestone-sphinx code{background-color:#f9f2f4;border-radius:4px;color:#c7254e;font-size:90%;padding:2px 4px}.ptx-runestone-container kbd,.runestone-sphinx kbd{background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);color:#fff;font-size:90%;padding:2px 4px}.ptx-runestone-container kbd kbd,.runestone-sphinx kbd kbd{-webkit-box-shadow:none;box-shadow:none;font-size:100%;font-weight:700;padding:0}.ptx-runestone-container pre,.runestone-sphinx pre{word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px;color:#333;display:block;font-size:13px;line-height:1.42857143;margin:0 0 10px;padding:9.5px;word-break:break-all}.ptx-runestone-container pre code,.runestone-sphinx pre code{background-color:transparent;border-radius:0;color:inherit;font-size:inherit;padding:0;white-space:pre-wrap}.ptx-runestone-container .pre-scrollable,.runestone-sphinx .pre-scrollable{max-height:340px;overflow-y:scroll}.ptx-runestone-container .container,.runestone-sphinx .container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.ptx-runestone-container .container,.runestone-sphinx .container{width:750px}}@media (min-width:992px){.ptx-runestone-container .container,.runestone-sphinx .container{width:970px}}@media (min-width:1200px){.ptx-runestone-container .container,.runestone-sphinx .container{width:1170px}}.ptx-runestone-container .container-fluid,.runestone-sphinx .container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.ptx-runestone-container .row,.runestone-sphinx .row{margin-left:-15px;margin-right:-15px}.ptx-runestone-container .row-no-gutters,.runestone-sphinx .row-no-gutters{margin-left:0;margin-right:0}.ptx-runestone-container .row-no-gutters [class*=col-],.runestone-sphinx .row-no-gutters [class*=col-]{padding-left:0;padding-right:0}.ptx-runestone-container .col-lg-1,.ptx-runestone-container .col-lg-10,.ptx-runestone-container .col-lg-11,.ptx-runestone-container .col-lg-12,.ptx-runestone-container .col-lg-2,.ptx-runestone-container .col-lg-3,.ptx-runestone-container .col-lg-4,.ptx-runestone-container .col-lg-5,.ptx-runestone-container .col-lg-6,.ptx-runestone-container .col-lg-7,.ptx-runestone-container .col-lg-8,.ptx-runestone-container .col-lg-9,.ptx-runestone-container .col-md-1,.ptx-runestone-container .col-md-10,.ptx-runestone-container .col-md-11,.ptx-runestone-container .col-md-12,.ptx-runestone-container .col-md-2,.ptx-runestone-container .col-md-3,.ptx-runestone-container .col-md-4,.ptx-runestone-container .col-md-5,.ptx-runestone-container .col-md-6,.ptx-runestone-container .col-md-7,.ptx-runestone-container .col-md-8,.ptx-runestone-container .col-md-9,.ptx-runestone-container .col-sm-1,.ptx-runestone-container .col-sm-10,.ptx-runestone-container .col-sm-11,.ptx-runestone-container .col-sm-12,.ptx-runestone-container .col-sm-2,.ptx-runestone-container .col-sm-3,.ptx-runestone-container .col-sm-4,.ptx-runestone-container .col-sm-5,.ptx-runestone-container .col-sm-6,.ptx-runestone-container .col-sm-7,.ptx-runestone-container .col-sm-8,.ptx-runestone-container .col-sm-9,.ptx-runestone-container .col-xs-1,.ptx-runestone-container .col-xs-10,.ptx-runestone-container .col-xs-11,.ptx-runestone-container .col-xs-12,.ptx-runestone-container .col-xs-2,.ptx-runestone-container .col-xs-3,.ptx-runestone-container .col-xs-4,.ptx-runestone-container .col-xs-5,.ptx-runestone-container .col-xs-6,.ptx-runestone-container .col-xs-7,.ptx-runestone-container .col-xs-8,.ptx-runestone-container .col-xs-9,.runestone-sphinx .col-lg-1,.runestone-sphinx .col-lg-10,.runestone-sphinx .col-lg-11,.runestone-sphinx .col-lg-12,.runestone-sphinx .col-lg-2,.runestone-sphinx .col-lg-3,.runestone-sphinx .col-lg-4,.runestone-sphinx .col-lg-5,.runestone-sphinx .col-lg-6,.runestone-sphinx .col-lg-7,.runestone-sphinx .col-lg-8,.runestone-sphinx .col-lg-9,.runestone-sphinx .col-md-1,.runestone-sphinx .col-md-10,.runestone-sphinx .col-md-11,.runestone-sphinx .col-md-12,.runestone-sphinx .col-md-2,.runestone-sphinx .col-md-3,.runestone-sphinx .col-md-4,.runestone-sphinx .col-md-5,.runestone-sphinx .col-md-6,.runestone-sphinx .col-md-7,.runestone-sphinx .col-md-8,.runestone-sphinx .col-md-9,.runestone-sphinx .col-sm-1,.runestone-sphinx .col-sm-10,.runestone-sphinx .col-sm-11,.runestone-sphinx .col-sm-12,.runestone-sphinx .col-sm-2,.runestone-sphinx .col-sm-3,.runestone-sphinx .col-sm-4,.runestone-sphinx .col-sm-5,.runestone-sphinx .col-sm-6,.runestone-sphinx .col-sm-7,.runestone-sphinx .col-sm-8,.runestone-sphinx .col-sm-9,.runestone-sphinx .col-xs-1,.runestone-sphinx .col-xs-10,.runestone-sphinx .col-xs-11,.runestone-sphinx .col-xs-12,.runestone-sphinx .col-xs-2,.runestone-sphinx .col-xs-3,.runestone-sphinx .col-xs-4,.runestone-sphinx .col-xs-5,.runestone-sphinx .col-xs-6,.runestone-sphinx .col-xs-7,.runestone-sphinx .col-xs-8,.runestone-sphinx .col-xs-9{min-height:1px;padding-left:15px;padding-right:15px;position:relative}.ptx-runestone-container .col-xs-1,.ptx-runestone-container .col-xs-10,.ptx-runestone-container .col-xs-11,.ptx-runestone-container .col-xs-12,.ptx-runestone-container .col-xs-2,.ptx-runestone-container .col-xs-3,.ptx-runestone-container .col-xs-4,.ptx-runestone-container .col-xs-5,.ptx-runestone-container .col-xs-6,.ptx-runestone-container .col-xs-7,.ptx-runestone-container .col-xs-8,.ptx-runestone-container .col-xs-9,.runestone-sphinx .col-xs-1,.runestone-sphinx .col-xs-10,.runestone-sphinx .col-xs-11,.runestone-sphinx .col-xs-12,.runestone-sphinx .col-xs-2,.runestone-sphinx .col-xs-3,.runestone-sphinx .col-xs-4,.runestone-sphinx .col-xs-5,.runestone-sphinx .col-xs-6,.runestone-sphinx .col-xs-7,.runestone-sphinx .col-xs-8,.runestone-sphinx .col-xs-9{float:left}.ptx-runestone-container .col-xs-12,.runestone-sphinx .col-xs-12{width:100%}.ptx-runestone-container .col-xs-11,.runestone-sphinx .col-xs-11{width:91.66666667%}.ptx-runestone-container .col-xs-10,.runestone-sphinx .col-xs-10{width:83.33333333%}.ptx-runestone-container .col-xs-9,.runestone-sphinx .col-xs-9{width:75%}.ptx-runestone-container .col-xs-8,.runestone-sphinx .col-xs-8{width:66.66666667%}.ptx-runestone-container .col-xs-7,.runestone-sphinx .col-xs-7{width:58.33333333%}.ptx-runestone-container .col-xs-6,.runestone-sphinx .col-xs-6{width:50%}.ptx-runestone-container .col-xs-5,.runestone-sphinx .col-xs-5{width:41.66666667%}.ptx-runestone-container .col-xs-4,.runestone-sphinx .col-xs-4{width:33.33333333%}.ptx-runestone-container .col-xs-3,.runestone-sphinx .col-xs-3{width:25%}.ptx-runestone-container .col-xs-2,.runestone-sphinx .col-xs-2{width:16.66666667%}.ptx-runestone-container .col-xs-1,.runestone-sphinx .col-xs-1{width:8.33333333%}.ptx-runestone-container .col-xs-pull-12,.runestone-sphinx .col-xs-pull-12{right:100%}.ptx-runestone-container .col-xs-pull-11,.runestone-sphinx .col-xs-pull-11{right:91.66666667%}.ptx-runestone-container .col-xs-pull-10,.runestone-sphinx .col-xs-pull-10{right:83.33333333%}.ptx-runestone-container .col-xs-pull-9,.runestone-sphinx .col-xs-pull-9{right:75%}.ptx-runestone-container .col-xs-pull-8,.runestone-sphinx .col-xs-pull-8{right:66.66666667%}.ptx-runestone-container .col-xs-pull-7,.runestone-sphinx .col-xs-pull-7{right:58.33333333%}.ptx-runestone-container .col-xs-pull-6,.runestone-sphinx .col-xs-pull-6{right:50%}.ptx-runestone-container .col-xs-pull-5,.runestone-sphinx .col-xs-pull-5{right:41.66666667%}.ptx-runestone-container .col-xs-pull-4,.runestone-sphinx .col-xs-pull-4{right:33.33333333%}.ptx-runestone-container .col-xs-pull-3,.runestone-sphinx .col-xs-pull-3{right:25%}.ptx-runestone-container .col-xs-pull-2,.runestone-sphinx .col-xs-pull-2{right:16.66666667%}.ptx-runestone-container .col-xs-pull-1,.runestone-sphinx .col-xs-pull-1{right:8.33333333%}.ptx-runestone-container .col-xs-pull-0,.runestone-sphinx .col-xs-pull-0{right:auto}.ptx-runestone-container .col-xs-push-12,.runestone-sphinx .col-xs-push-12{left:100%}.ptx-runestone-container .col-xs-push-11,.runestone-sphinx .col-xs-push-11{left:91.66666667%}.ptx-runestone-container .col-xs-push-10,.runestone-sphinx .col-xs-push-10{left:83.33333333%}.ptx-runestone-container .col-xs-push-9,.runestone-sphinx .col-xs-push-9{left:75%}.ptx-runestone-container .col-xs-push-8,.runestone-sphinx .col-xs-push-8{left:66.66666667%}.ptx-runestone-container .col-xs-push-7,.runestone-sphinx .col-xs-push-7{left:58.33333333%}.ptx-runestone-container .col-xs-push-6,.runestone-sphinx .col-xs-push-6{left:50%}.ptx-runestone-container .col-xs-push-5,.runestone-sphinx .col-xs-push-5{left:41.66666667%}.ptx-runestone-container .col-xs-push-4,.runestone-sphinx .col-xs-push-4{left:33.33333333%}.ptx-runestone-container .col-xs-push-3,.runestone-sphinx .col-xs-push-3{left:25%}.ptx-runestone-container .col-xs-push-2,.runestone-sphinx .col-xs-push-2{left:16.66666667%}.ptx-runestone-container .col-xs-push-1,.runestone-sphinx .col-xs-push-1{left:8.33333333%}.ptx-runestone-container .col-xs-push-0,.runestone-sphinx .col-xs-push-0{left:auto}.ptx-runestone-container .col-xs-offset-12,.runestone-sphinx .col-xs-offset-12{margin-left:100%}.ptx-runestone-container .col-xs-offset-11,.runestone-sphinx .col-xs-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-xs-offset-10,.runestone-sphinx .col-xs-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-xs-offset-9,.runestone-sphinx .col-xs-offset-9{margin-left:75%}.ptx-runestone-container .col-xs-offset-8,.runestone-sphinx .col-xs-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-xs-offset-7,.runestone-sphinx .col-xs-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-xs-offset-6,.runestone-sphinx .col-xs-offset-6{margin-left:50%}.ptx-runestone-container .col-xs-offset-5,.runestone-sphinx .col-xs-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-xs-offset-4,.runestone-sphinx .col-xs-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-xs-offset-3,.runestone-sphinx .col-xs-offset-3{margin-left:25%}.ptx-runestone-container .col-xs-offset-2,.runestone-sphinx .col-xs-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-xs-offset-1,.runestone-sphinx .col-xs-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-xs-offset-0,.runestone-sphinx .col-xs-offset-0{margin-left:0}@media (min-width:768px){.ptx-runestone-container .col-sm-1,.ptx-runestone-container .col-sm-10,.ptx-runestone-container .col-sm-11,.ptx-runestone-container .col-sm-12,.ptx-runestone-container .col-sm-2,.ptx-runestone-container .col-sm-3,.ptx-runestone-container .col-sm-4,.ptx-runestone-container .col-sm-5,.ptx-runestone-container .col-sm-6,.ptx-runestone-container .col-sm-7,.ptx-runestone-container .col-sm-8,.ptx-runestone-container .col-sm-9,.runestone-sphinx .col-sm-1,.runestone-sphinx .col-sm-10,.runestone-sphinx .col-sm-11,.runestone-sphinx .col-sm-12,.runestone-sphinx .col-sm-2,.runestone-sphinx .col-sm-3,.runestone-sphinx .col-sm-4,.runestone-sphinx .col-sm-5,.runestone-sphinx .col-sm-6,.runestone-sphinx .col-sm-7,.runestone-sphinx .col-sm-8,.runestone-sphinx .col-sm-9{float:left}.ptx-runestone-container .col-sm-12,.runestone-sphinx .col-sm-12{width:100%}.ptx-runestone-container .col-sm-11,.runestone-sphinx .col-sm-11{width:91.66666667%}.ptx-runestone-container .col-sm-10,.runestone-sphinx .col-sm-10{width:83.33333333%}.ptx-runestone-container .col-sm-9,.runestone-sphinx .col-sm-9{width:75%}.ptx-runestone-container .col-sm-8,.runestone-sphinx .col-sm-8{width:66.66666667%}.ptx-runestone-container .col-sm-7,.runestone-sphinx .col-sm-7{width:58.33333333%}.ptx-runestone-container .col-sm-6,.runestone-sphinx .col-sm-6{width:50%}.ptx-runestone-container .col-sm-5,.runestone-sphinx .col-sm-5{width:41.66666667%}.ptx-runestone-container .col-sm-4,.runestone-sphinx .col-sm-4{width:33.33333333%}.ptx-runestone-container .col-sm-3,.runestone-sphinx .col-sm-3{width:25%}.ptx-runestone-container .col-sm-2,.runestone-sphinx .col-sm-2{width:16.66666667%}.ptx-runestone-container .col-sm-1,.runestone-sphinx .col-sm-1{width:8.33333333%}.ptx-runestone-container .col-sm-pull-12,.runestone-sphinx .col-sm-pull-12{right:100%}.ptx-runestone-container .col-sm-pull-11,.runestone-sphinx .col-sm-pull-11{right:91.66666667%}.ptx-runestone-container .col-sm-pull-10,.runestone-sphinx .col-sm-pull-10{right:83.33333333%}.ptx-runestone-container .col-sm-pull-9,.runestone-sphinx .col-sm-pull-9{right:75%}.ptx-runestone-container .col-sm-pull-8,.runestone-sphinx .col-sm-pull-8{right:66.66666667%}.ptx-runestone-container .col-sm-pull-7,.runestone-sphinx .col-sm-pull-7{right:58.33333333%}.ptx-runestone-container .col-sm-pull-6,.runestone-sphinx .col-sm-pull-6{right:50%}.ptx-runestone-container .col-sm-pull-5,.runestone-sphinx .col-sm-pull-5{right:41.66666667%}.ptx-runestone-container .col-sm-pull-4,.runestone-sphinx .col-sm-pull-4{right:33.33333333%}.ptx-runestone-container .col-sm-pull-3,.runestone-sphinx .col-sm-pull-3{right:25%}.ptx-runestone-container .col-sm-pull-2,.runestone-sphinx .col-sm-pull-2{right:16.66666667%}.ptx-runestone-container .col-sm-pull-1,.runestone-sphinx .col-sm-pull-1{right:8.33333333%}.ptx-runestone-container .col-sm-pull-0,.runestone-sphinx .col-sm-pull-0{right:auto}.ptx-runestone-container .col-sm-push-12,.runestone-sphinx .col-sm-push-12{left:100%}.ptx-runestone-container .col-sm-push-11,.runestone-sphinx .col-sm-push-11{left:91.66666667%}.ptx-runestone-container .col-sm-push-10,.runestone-sphinx .col-sm-push-10{left:83.33333333%}.ptx-runestone-container .col-sm-push-9,.runestone-sphinx .col-sm-push-9{left:75%}.ptx-runestone-container .col-sm-push-8,.runestone-sphinx .col-sm-push-8{left:66.66666667%}.ptx-runestone-container .col-sm-push-7,.runestone-sphinx .col-sm-push-7{left:58.33333333%}.ptx-runestone-container .col-sm-push-6,.runestone-sphinx .col-sm-push-6{left:50%}.ptx-runestone-container .col-sm-push-5,.runestone-sphinx .col-sm-push-5{left:41.66666667%}.ptx-runestone-container .col-sm-push-4,.runestone-sphinx .col-sm-push-4{left:33.33333333%}.ptx-runestone-container .col-sm-push-3,.runestone-sphinx .col-sm-push-3{left:25%}.ptx-runestone-container .col-sm-push-2,.runestone-sphinx .col-sm-push-2{left:16.66666667%}.ptx-runestone-container .col-sm-push-1,.runestone-sphinx .col-sm-push-1{left:8.33333333%}.ptx-runestone-container .col-sm-push-0,.runestone-sphinx .col-sm-push-0{left:auto}.ptx-runestone-container .col-sm-offset-12,.runestone-sphinx .col-sm-offset-12{margin-left:100%}.ptx-runestone-container .col-sm-offset-11,.runestone-sphinx .col-sm-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-sm-offset-10,.runestone-sphinx .col-sm-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-sm-offset-9,.runestone-sphinx .col-sm-offset-9{margin-left:75%}.ptx-runestone-container .col-sm-offset-8,.runestone-sphinx .col-sm-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-sm-offset-7,.runestone-sphinx .col-sm-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-sm-offset-6,.runestone-sphinx .col-sm-offset-6{margin-left:50%}.ptx-runestone-container .col-sm-offset-5,.runestone-sphinx .col-sm-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-sm-offset-4,.runestone-sphinx .col-sm-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-sm-offset-3,.runestone-sphinx .col-sm-offset-3{margin-left:25%}.ptx-runestone-container .col-sm-offset-2,.runestone-sphinx .col-sm-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-sm-offset-1,.runestone-sphinx .col-sm-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-sm-offset-0,.runestone-sphinx .col-sm-offset-0{margin-left:0}}@media (min-width:992px){.ptx-runestone-container .col-md-1,.ptx-runestone-container .col-md-10,.ptx-runestone-container .col-md-11,.ptx-runestone-container .col-md-12,.ptx-runestone-container .col-md-2,.ptx-runestone-container .col-md-3,.ptx-runestone-container .col-md-4,.ptx-runestone-container .col-md-5,.ptx-runestone-container .col-md-6,.ptx-runestone-container .col-md-7,.ptx-runestone-container .col-md-8,.ptx-runestone-container .col-md-9,.runestone-sphinx .col-md-1,.runestone-sphinx .col-md-10,.runestone-sphinx .col-md-11,.runestone-sphinx .col-md-12,.runestone-sphinx .col-md-2,.runestone-sphinx .col-md-3,.runestone-sphinx .col-md-4,.runestone-sphinx .col-md-5,.runestone-sphinx .col-md-6,.runestone-sphinx .col-md-7,.runestone-sphinx .col-md-8,.runestone-sphinx .col-md-9{float:left}.ptx-runestone-container .col-md-12,.runestone-sphinx .col-md-12{width:100%}.ptx-runestone-container .col-md-11,.runestone-sphinx .col-md-11{width:91.66666667%}.ptx-runestone-container .col-md-10,.runestone-sphinx .col-md-10{width:83.33333333%}.ptx-runestone-container .col-md-9,.runestone-sphinx .col-md-9{width:75%}.ptx-runestone-container .col-md-8,.runestone-sphinx .col-md-8{width:66.66666667%}.ptx-runestone-container .col-md-7,.runestone-sphinx .col-md-7{width:58.33333333%}.ptx-runestone-container .col-md-6,.runestone-sphinx .col-md-6{width:50%}.ptx-runestone-container .col-md-5,.runestone-sphinx .col-md-5{width:41.66666667%}.ptx-runestone-container .col-md-4,.runestone-sphinx .col-md-4{width:33.33333333%}.ptx-runestone-container .col-md-3,.runestone-sphinx .col-md-3{width:25%}.ptx-runestone-container .col-md-2,.runestone-sphinx .col-md-2{width:16.66666667%}.ptx-runestone-container .col-md-1,.runestone-sphinx .col-md-1{width:8.33333333%}.ptx-runestone-container .col-md-pull-12,.runestone-sphinx .col-md-pull-12{right:100%}.ptx-runestone-container .col-md-pull-11,.runestone-sphinx .col-md-pull-11{right:91.66666667%}.ptx-runestone-container .col-md-pull-10,.runestone-sphinx .col-md-pull-10{right:83.33333333%}.ptx-runestone-container .col-md-pull-9,.runestone-sphinx .col-md-pull-9{right:75%}.ptx-runestone-container .col-md-pull-8,.runestone-sphinx .col-md-pull-8{right:66.66666667%}.ptx-runestone-container .col-md-pull-7,.runestone-sphinx .col-md-pull-7{right:58.33333333%}.ptx-runestone-container .col-md-pull-6,.runestone-sphinx .col-md-pull-6{right:50%}.ptx-runestone-container .col-md-pull-5,.runestone-sphinx .col-md-pull-5{right:41.66666667%}.ptx-runestone-container .col-md-pull-4,.runestone-sphinx .col-md-pull-4{right:33.33333333%}.ptx-runestone-container .col-md-pull-3,.runestone-sphinx .col-md-pull-3{right:25%}.ptx-runestone-container .col-md-pull-2,.runestone-sphinx .col-md-pull-2{right:16.66666667%}.ptx-runestone-container .col-md-pull-1,.runestone-sphinx .col-md-pull-1{right:8.33333333%}.ptx-runestone-container .col-md-pull-0,.runestone-sphinx .col-md-pull-0{right:auto}.ptx-runestone-container .col-md-push-12,.runestone-sphinx .col-md-push-12{left:100%}.ptx-runestone-container .col-md-push-11,.runestone-sphinx .col-md-push-11{left:91.66666667%}.ptx-runestone-container .col-md-push-10,.runestone-sphinx .col-md-push-10{left:83.33333333%}.ptx-runestone-container .col-md-push-9,.runestone-sphinx .col-md-push-9{left:75%}.ptx-runestone-container .col-md-push-8,.runestone-sphinx .col-md-push-8{left:66.66666667%}.ptx-runestone-container .col-md-push-7,.runestone-sphinx .col-md-push-7{left:58.33333333%}.ptx-runestone-container .col-md-push-6,.runestone-sphinx .col-md-push-6{left:50%}.ptx-runestone-container .col-md-push-5,.runestone-sphinx .col-md-push-5{left:41.66666667%}.ptx-runestone-container .col-md-push-4,.runestone-sphinx .col-md-push-4{left:33.33333333%}.ptx-runestone-container .col-md-push-3,.runestone-sphinx .col-md-push-3{left:25%}.ptx-runestone-container .col-md-push-2,.runestone-sphinx .col-md-push-2{left:16.66666667%}.ptx-runestone-container .col-md-push-1,.runestone-sphinx .col-md-push-1{left:8.33333333%}.ptx-runestone-container .col-md-push-0,.runestone-sphinx .col-md-push-0{left:auto}.ptx-runestone-container .col-md-offset-12,.runestone-sphinx .col-md-offset-12{margin-left:100%}.ptx-runestone-container .col-md-offset-11,.runestone-sphinx .col-md-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-md-offset-10,.runestone-sphinx .col-md-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-md-offset-9,.runestone-sphinx .col-md-offset-9{margin-left:75%}.ptx-runestone-container .col-md-offset-8,.runestone-sphinx .col-md-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-md-offset-7,.runestone-sphinx .col-md-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-md-offset-6,.runestone-sphinx .col-md-offset-6{margin-left:50%}.ptx-runestone-container .col-md-offset-5,.runestone-sphinx .col-md-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-md-offset-4,.runestone-sphinx .col-md-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-md-offset-3,.runestone-sphinx .col-md-offset-3{margin-left:25%}.ptx-runestone-container .col-md-offset-2,.runestone-sphinx .col-md-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-md-offset-1,.runestone-sphinx .col-md-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-md-offset-0,.runestone-sphinx .col-md-offset-0{margin-left:0}}@media (min-width:1200px){.ptx-runestone-container .col-lg-1,.ptx-runestone-container .col-lg-10,.ptx-runestone-container .col-lg-11,.ptx-runestone-container .col-lg-12,.ptx-runestone-container .col-lg-2,.ptx-runestone-container .col-lg-3,.ptx-runestone-container .col-lg-4,.ptx-runestone-container .col-lg-5,.ptx-runestone-container .col-lg-6,.ptx-runestone-container .col-lg-7,.ptx-runestone-container .col-lg-8,.ptx-runestone-container .col-lg-9,.runestone-sphinx .col-lg-1,.runestone-sphinx .col-lg-10,.runestone-sphinx .col-lg-11,.runestone-sphinx .col-lg-12,.runestone-sphinx .col-lg-2,.runestone-sphinx .col-lg-3,.runestone-sphinx .col-lg-4,.runestone-sphinx .col-lg-5,.runestone-sphinx .col-lg-6,.runestone-sphinx .col-lg-7,.runestone-sphinx .col-lg-8,.runestone-sphinx .col-lg-9{float:left}.ptx-runestone-container .col-lg-12,.runestone-sphinx .col-lg-12{width:100%}.ptx-runestone-container .col-lg-11,.runestone-sphinx .col-lg-11{width:91.66666667%}.ptx-runestone-container .col-lg-10,.runestone-sphinx .col-lg-10{width:83.33333333%}.ptx-runestone-container .col-lg-9,.runestone-sphinx .col-lg-9{width:75%}.ptx-runestone-container .col-lg-8,.runestone-sphinx .col-lg-8{width:66.66666667%}.ptx-runestone-container .col-lg-7,.runestone-sphinx .col-lg-7{width:58.33333333%}.ptx-runestone-container .col-lg-6,.runestone-sphinx .col-lg-6{width:50%}.ptx-runestone-container .col-lg-5,.runestone-sphinx .col-lg-5{width:41.66666667%}.ptx-runestone-container .col-lg-4,.runestone-sphinx .col-lg-4{width:33.33333333%}.ptx-runestone-container .col-lg-3,.runestone-sphinx .col-lg-3{width:25%}.ptx-runestone-container .col-lg-2,.runestone-sphinx .col-lg-2{width:16.66666667%}.ptx-runestone-container .col-lg-1,.runestone-sphinx .col-lg-1{width:8.33333333%}.ptx-runestone-container .col-lg-pull-12,.runestone-sphinx .col-lg-pull-12{right:100%}.ptx-runestone-container .col-lg-pull-11,.runestone-sphinx .col-lg-pull-11{right:91.66666667%}.ptx-runestone-container .col-lg-pull-10,.runestone-sphinx .col-lg-pull-10{right:83.33333333%}.ptx-runestone-container .col-lg-pull-9,.runestone-sphinx .col-lg-pull-9{right:75%}.ptx-runestone-container .col-lg-pull-8,.runestone-sphinx .col-lg-pull-8{right:66.66666667%}.ptx-runestone-container .col-lg-pull-7,.runestone-sphinx .col-lg-pull-7{right:58.33333333%}.ptx-runestone-container .col-lg-pull-6,.runestone-sphinx .col-lg-pull-6{right:50%}.ptx-runestone-container .col-lg-pull-5,.runestone-sphinx .col-lg-pull-5{right:41.66666667%}.ptx-runestone-container .col-lg-pull-4,.runestone-sphinx .col-lg-pull-4{right:33.33333333%}.ptx-runestone-container .col-lg-pull-3,.runestone-sphinx .col-lg-pull-3{right:25%}.ptx-runestone-container .col-lg-pull-2,.runestone-sphinx .col-lg-pull-2{right:16.66666667%}.ptx-runestone-container .col-lg-pull-1,.runestone-sphinx .col-lg-pull-1{right:8.33333333%}.ptx-runestone-container .col-lg-pull-0,.runestone-sphinx .col-lg-pull-0{right:auto}.ptx-runestone-container .col-lg-push-12,.runestone-sphinx .col-lg-push-12{left:100%}.ptx-runestone-container .col-lg-push-11,.runestone-sphinx .col-lg-push-11{left:91.66666667%}.ptx-runestone-container .col-lg-push-10,.runestone-sphinx .col-lg-push-10{left:83.33333333%}.ptx-runestone-container .col-lg-push-9,.runestone-sphinx .col-lg-push-9{left:75%}.ptx-runestone-container .col-lg-push-8,.runestone-sphinx .col-lg-push-8{left:66.66666667%}.ptx-runestone-container .col-lg-push-7,.runestone-sphinx .col-lg-push-7{left:58.33333333%}.ptx-runestone-container .col-lg-push-6,.runestone-sphinx .col-lg-push-6{left:50%}.ptx-runestone-container .col-lg-push-5,.runestone-sphinx .col-lg-push-5{left:41.66666667%}.ptx-runestone-container .col-lg-push-4,.runestone-sphinx .col-lg-push-4{left:33.33333333%}.ptx-runestone-container .col-lg-push-3,.runestone-sphinx .col-lg-push-3{left:25%}.ptx-runestone-container .col-lg-push-2,.runestone-sphinx .col-lg-push-2{left:16.66666667%}.ptx-runestone-container .col-lg-push-1,.runestone-sphinx .col-lg-push-1{left:8.33333333%}.ptx-runestone-container .col-lg-push-0,.runestone-sphinx .col-lg-push-0{left:auto}.ptx-runestone-container .col-lg-offset-12,.runestone-sphinx .col-lg-offset-12{margin-left:100%}.ptx-runestone-container .col-lg-offset-11,.runestone-sphinx .col-lg-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-lg-offset-10,.runestone-sphinx .col-lg-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-lg-offset-9,.runestone-sphinx .col-lg-offset-9{margin-left:75%}.ptx-runestone-container .col-lg-offset-8,.runestone-sphinx .col-lg-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-lg-offset-7,.runestone-sphinx .col-lg-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-lg-offset-6,.runestone-sphinx .col-lg-offset-6{margin-left:50%}.ptx-runestone-container .col-lg-offset-5,.runestone-sphinx .col-lg-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-lg-offset-4,.runestone-sphinx .col-lg-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-lg-offset-3,.runestone-sphinx .col-lg-offset-3{margin-left:25%}.ptx-runestone-container .col-lg-offset-2,.runestone-sphinx .col-lg-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-lg-offset-1,.runestone-sphinx .col-lg-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-lg-offset-0,.runestone-sphinx .col-lg-offset-0{margin-left:0}}.ptx-runestone-container table,.runestone-sphinx table{background-color:transparent}.ptx-runestone-container table col[class*=col-],.runestone-sphinx table col[class*=col-]{display:table-column;float:none;position:static}.ptx-runestone-container table td[class*=col-],.ptx-runestone-container table th[class*=col-],.runestone-sphinx table td[class*=col-],.runestone-sphinx table th[class*=col-]{display:table-cell;float:none;position:static}.ptx-runestone-container caption,.runestone-sphinx caption{color:#777;padding-bottom:8px;padding-top:8px;text-align:left}.ptx-runestone-container th,.runestone-sphinx th{text-align:left}.ptx-runestone-container .table,.runestone-sphinx .table{margin-bottom:20px;max-width:100%;width:100%}.ptx-runestone-container .table>tbody>tr>td,.ptx-runestone-container .table>tbody>tr>th,.ptx-runestone-container .table>tfoot>tr>td,.ptx-runestone-container .table>tfoot>tr>th,.ptx-runestone-container .table>thead>tr>td,.ptx-runestone-container .table>thead>tr>th,.runestone-sphinx .table>tbody>tr>td,.runestone-sphinx .table>tbody>tr>th,.runestone-sphinx .table>tfoot>tr>td,.runestone-sphinx .table>tfoot>tr>th,.runestone-sphinx .table>thead>tr>td,.runestone-sphinx .table>thead>tr>th{border-top:1px solid #ddd;line-height:1.42857143;padding:8px;vertical-align:top}.ptx-runestone-container .table>thead>tr>th,.runestone-sphinx .table>thead>tr>th{border-bottom:2px solid #ddd;vertical-align:bottom}.ptx-runestone-container .table>caption+thead>tr:first-child>td,.ptx-runestone-container .table>caption+thead>tr:first-child>th,.ptx-runestone-container .table>colgroup+thead>tr:first-child>td,.ptx-runestone-container .table>colgroup+thead>tr:first-child>th,.ptx-runestone-container .table>thead:first-child>tr:first-child>td,.ptx-runestone-container .table>thead:first-child>tr:first-child>th,.runestone-sphinx .table>caption+thead>tr:first-child>td,.runestone-sphinx .table>caption+thead>tr:first-child>th,.runestone-sphinx .table>colgroup+thead>tr:first-child>td,.runestone-sphinx .table>colgroup+thead>tr:first-child>th,.runestone-sphinx .table>thead:first-child>tr:first-child>td,.runestone-sphinx .table>thead:first-child>tr:first-child>th{border-top:0}.ptx-runestone-container .table>tbody+tbody,.runestone-sphinx .table>tbody+tbody{border-top:2px solid #ddd}.ptx-runestone-container .table .table,.runestone-sphinx .table .table{background-color:#fff}.ptx-runestone-container .table-condensed>tbody>tr>td,.ptx-runestone-container .table-condensed>tbody>tr>th,.ptx-runestone-container .table-condensed>tfoot>tr>td,.ptx-runestone-container .table-condensed>tfoot>tr>th,.ptx-runestone-container .table-condensed>thead>tr>td,.ptx-runestone-container .table-condensed>thead>tr>th,.runestone-sphinx .table-condensed>tbody>tr>td,.runestone-sphinx .table-condensed>tbody>tr>th,.runestone-sphinx .table-condensed>tfoot>tr>td,.runestone-sphinx .table-condensed>tfoot>tr>th,.runestone-sphinx .table-condensed>thead>tr>td,.runestone-sphinx .table-condensed>thead>tr>th{padding:5px}.ptx-runestone-container .table-bordered,.ptx-runestone-container .table-bordered>tbody>tr>td,.ptx-runestone-container .table-bordered>tbody>tr>th,.ptx-runestone-container .table-bordered>tfoot>tr>td,.ptx-runestone-container .table-bordered>tfoot>tr>th,.ptx-runestone-container .table-bordered>thead>tr>td,.ptx-runestone-container .table-bordered>thead>tr>th,.runestone-sphinx .table-bordered,.runestone-sphinx .table-bordered>tbody>tr>td,.runestone-sphinx .table-bordered>tbody>tr>th,.runestone-sphinx .table-bordered>tfoot>tr>td,.runestone-sphinx .table-bordered>tfoot>tr>th,.runestone-sphinx .table-bordered>thead>tr>td,.runestone-sphinx .table-bordered>thead>tr>th{border:1px solid #ddd}.ptx-runestone-container .table-bordered>thead>tr>td,.ptx-runestone-container .table-bordered>thead>tr>th,.runestone-sphinx .table-bordered>thead>tr>td,.runestone-sphinx .table-bordered>thead>tr>th{border-bottom-width:2px}.ptx-runestone-container .table-striped>tbody>tr:nth-of-type(odd),.runestone-sphinx .table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.ptx-runestone-container .table-hover>tbody>tr:hover,.ptx-runestone-container .table>tbody>tr.active>td,.ptx-runestone-container .table>tbody>tr.active>th,.ptx-runestone-container .table>tbody>tr>td.active,.ptx-runestone-container .table>tbody>tr>th.active,.ptx-runestone-container .table>tfoot>tr.active>td,.ptx-runestone-container .table>tfoot>tr.active>th,.ptx-runestone-container .table>tfoot>tr>td.active,.ptx-runestone-container .table>tfoot>tr>th.active,.ptx-runestone-container .table>thead>tr.active>td,.ptx-runestone-container .table>thead>tr.active>th,.ptx-runestone-container .table>thead>tr>td.active,.ptx-runestone-container .table>thead>tr>th.active,.runestone-sphinx .table-hover>tbody>tr:hover,.runestone-sphinx .table>tbody>tr.active>td,.runestone-sphinx .table>tbody>tr.active>th,.runestone-sphinx .table>tbody>tr>td.active,.runestone-sphinx .table>tbody>tr>th.active,.runestone-sphinx .table>tfoot>tr.active>td,.runestone-sphinx .table>tfoot>tr.active>th,.runestone-sphinx .table>tfoot>tr>td.active,.runestone-sphinx .table>tfoot>tr>th.active,.runestone-sphinx .table>thead>tr.active>td,.runestone-sphinx .table>thead>tr.active>th,.runestone-sphinx .table>thead>tr>td.active,.runestone-sphinx .table>thead>tr>th.active{background-color:#f5f5f5}.ptx-runestone-container .table-hover>tbody>tr.active:hover>td,.ptx-runestone-container .table-hover>tbody>tr.active:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.active,.ptx-runestone-container .table-hover>tbody>tr>td.active:hover,.ptx-runestone-container .table-hover>tbody>tr>th.active:hover,.runestone-sphinx .table-hover>tbody>tr.active:hover>td,.runestone-sphinx .table-hover>tbody>tr.active:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.active,.runestone-sphinx .table-hover>tbody>tr>td.active:hover,.runestone-sphinx .table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.ptx-runestone-container .table>tbody>tr.success>td,.ptx-runestone-container .table>tbody>tr.success>th,.ptx-runestone-container .table>tbody>tr>td.success,.ptx-runestone-container .table>tbody>tr>th.success,.ptx-runestone-container .table>tfoot>tr.success>td,.ptx-runestone-container .table>tfoot>tr.success>th,.ptx-runestone-container .table>tfoot>tr>td.success,.ptx-runestone-container .table>tfoot>tr>th.success,.ptx-runestone-container .table>thead>tr.success>td,.ptx-runestone-container .table>thead>tr.success>th,.ptx-runestone-container .table>thead>tr>td.success,.ptx-runestone-container .table>thead>tr>th.success,.runestone-sphinx .table>tbody>tr.success>td,.runestone-sphinx .table>tbody>tr.success>th,.runestone-sphinx .table>tbody>tr>td.success,.runestone-sphinx .table>tbody>tr>th.success,.runestone-sphinx .table>tfoot>tr.success>td,.runestone-sphinx .table>tfoot>tr.success>th,.runestone-sphinx .table>tfoot>tr>td.success,.runestone-sphinx .table>tfoot>tr>th.success,.runestone-sphinx .table>thead>tr.success>td,.runestone-sphinx .table>thead>tr.success>th,.runestone-sphinx .table>thead>tr>td.success,.runestone-sphinx .table>thead>tr>th.success{background-color:#dff0d8}.ptx-runestone-container .table-hover>tbody>tr.success:hover>td,.ptx-runestone-container .table-hover>tbody>tr.success:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.success,.ptx-runestone-container .table-hover>tbody>tr>td.success:hover,.ptx-runestone-container .table-hover>tbody>tr>th.success:hover,.runestone-sphinx .table-hover>tbody>tr.success:hover>td,.runestone-sphinx .table-hover>tbody>tr.success:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.success,.runestone-sphinx .table-hover>tbody>tr>td.success:hover,.runestone-sphinx .table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.ptx-runestone-container .table>tbody>tr.info>td,.ptx-runestone-container .table>tbody>tr.info>th,.ptx-runestone-container .table>tbody>tr>td.info,.ptx-runestone-container .table>tbody>tr>th.info,.ptx-runestone-container .table>tfoot>tr.info>td,.ptx-runestone-container .table>tfoot>tr.info>th,.ptx-runestone-container .table>tfoot>tr>td.info,.ptx-runestone-container .table>tfoot>tr>th.info,.ptx-runestone-container .table>thead>tr.info>td,.ptx-runestone-container .table>thead>tr.info>th,.ptx-runestone-container .table>thead>tr>td.info,.ptx-runestone-container .table>thead>tr>th.info,.runestone-sphinx .table>tbody>tr.info>td,.runestone-sphinx .table>tbody>tr.info>th,.runestone-sphinx .table>tbody>tr>td.info,.runestone-sphinx .table>tbody>tr>th.info,.runestone-sphinx .table>tfoot>tr.info>td,.runestone-sphinx .table>tfoot>tr.info>th,.runestone-sphinx .table>tfoot>tr>td.info,.runestone-sphinx .table>tfoot>tr>th.info,.runestone-sphinx .table>thead>tr.info>td,.runestone-sphinx .table>thead>tr.info>th,.runestone-sphinx .table>thead>tr>td.info,.runestone-sphinx .table>thead>tr>th.info{background-color:#d9edf7}.ptx-runestone-container .table-hover>tbody>tr.info:hover>td,.ptx-runestone-container .table-hover>tbody>tr.info:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.info,.ptx-runestone-container .table-hover>tbody>tr>td.info:hover,.ptx-runestone-container .table-hover>tbody>tr>th.info:hover,.runestone-sphinx .table-hover>tbody>tr.info:hover>td,.runestone-sphinx .table-hover>tbody>tr.info:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.info,.runestone-sphinx .table-hover>tbody>tr>td.info:hover,.runestone-sphinx .table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.ptx-runestone-container .table>tbody>tr.warning>td,.ptx-runestone-container .table>tbody>tr.warning>th,.ptx-runestone-container .table>tbody>tr>td.warning,.ptx-runestone-container .table>tbody>tr>th.warning,.ptx-runestone-container .table>tfoot>tr.warning>td,.ptx-runestone-container .table>tfoot>tr.warning>th,.ptx-runestone-container .table>tfoot>tr>td.warning,.ptx-runestone-container .table>tfoot>tr>th.warning,.ptx-runestone-container .table>thead>tr.warning>td,.ptx-runestone-container .table>thead>tr.warning>th,.ptx-runestone-container .table>thead>tr>td.warning,.ptx-runestone-container .table>thead>tr>th.warning,.runestone-sphinx .table>tbody>tr.warning>td,.runestone-sphinx .table>tbody>tr.warning>th,.runestone-sphinx .table>tbody>tr>td.warning,.runestone-sphinx .table>tbody>tr>th.warning,.runestone-sphinx .table>tfoot>tr.warning>td,.runestone-sphinx .table>tfoot>tr.warning>th,.runestone-sphinx .table>tfoot>tr>td.warning,.runestone-sphinx .table>tfoot>tr>th.warning,.runestone-sphinx .table>thead>tr.warning>td,.runestone-sphinx .table>thead>tr.warning>th,.runestone-sphinx .table>thead>tr>td.warning,.runestone-sphinx .table>thead>tr>th.warning{background-color:#fcf8e3}.ptx-runestone-container .table-hover>tbody>tr.warning:hover>td,.ptx-runestone-container .table-hover>tbody>tr.warning:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.warning,.ptx-runestone-container .table-hover>tbody>tr>td.warning:hover,.ptx-runestone-container .table-hover>tbody>tr>th.warning:hover,.runestone-sphinx .table-hover>tbody>tr.warning:hover>td,.runestone-sphinx .table-hover>tbody>tr.warning:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.warning,.runestone-sphinx .table-hover>tbody>tr>td.warning:hover,.runestone-sphinx .table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.ptx-runestone-container .table>tbody>tr.danger>td,.ptx-runestone-container .table>tbody>tr.danger>th,.ptx-runestone-container .table>tbody>tr>td.danger,.ptx-runestone-container .table>tbody>tr>th.danger,.ptx-runestone-container .table>tfoot>tr.danger>td,.ptx-runestone-container .table>tfoot>tr.danger>th,.ptx-runestone-container .table>tfoot>tr>td.danger,.ptx-runestone-container .table>tfoot>tr>th.danger,.ptx-runestone-container .table>thead>tr.danger>td,.ptx-runestone-container .table>thead>tr.danger>th,.ptx-runestone-container .table>thead>tr>td.danger,.ptx-runestone-container .table>thead>tr>th.danger,.runestone-sphinx .table>tbody>tr.danger>td,.runestone-sphinx .table>tbody>tr.danger>th,.runestone-sphinx .table>tbody>tr>td.danger,.runestone-sphinx .table>tbody>tr>th.danger,.runestone-sphinx .table>tfoot>tr.danger>td,.runestone-sphinx .table>tfoot>tr.danger>th,.runestone-sphinx .table>tfoot>tr>td.danger,.runestone-sphinx .table>tfoot>tr>th.danger,.runestone-sphinx .table>thead>tr.danger>td,.runestone-sphinx .table>thead>tr.danger>th,.runestone-sphinx .table>thead>tr>td.danger,.runestone-sphinx .table>thead>tr>th.danger{background-color:#f2dede}.ptx-runestone-container .table-hover>tbody>tr.danger:hover>td,.ptx-runestone-container .table-hover>tbody>tr.danger:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.danger,.ptx-runestone-container .table-hover>tbody>tr>td.danger:hover,.ptx-runestone-container .table-hover>tbody>tr>th.danger:hover,.runestone-sphinx .table-hover>tbody>tr.danger:hover>td,.runestone-sphinx .table-hover>tbody>tr.danger:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.danger,.runestone-sphinx .table-hover>tbody>tr>td.danger:hover,.runestone-sphinx .table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.ptx-runestone-container .table-responsive,.runestone-sphinx .table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.ptx-runestone-container .table-responsive,.runestone-sphinx .table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;margin-bottom:15px;overflow-y:hidden;width:100%}.ptx-runestone-container .table-responsive>.table,.runestone-sphinx .table-responsive>.table{margin-bottom:0}.ptx-runestone-container .table-responsive>.table>tbody>tr>td,.ptx-runestone-container .table-responsive>.table>tbody>tr>th,.ptx-runestone-container .table-responsive>.table>tfoot>tr>td,.ptx-runestone-container .table-responsive>.table>tfoot>tr>th,.ptx-runestone-container .table-responsive>.table>thead>tr>td,.ptx-runestone-container .table-responsive>.table>thead>tr>th,.runestone-sphinx .table-responsive>.table>tbody>tr>td,.runestone-sphinx .table-responsive>.table>tbody>tr>th,.runestone-sphinx .table-responsive>.table>tfoot>tr>td,.runestone-sphinx .table-responsive>.table>tfoot>tr>th,.runestone-sphinx .table-responsive>.table>thead>tr>td,.runestone-sphinx .table-responsive>.table>thead>tr>th{white-space:nowrap}.ptx-runestone-container .table-responsive>.table-bordered,.runestone-sphinx .table-responsive>.table-bordered{border:0}.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>td:first-child,.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>th:first-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>td:first-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>th:first-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>td:first-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>th:first-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>td:first-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>th:first-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>td:first-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>th:first-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>td:first-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>td:last-child,.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>th:last-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>td:last-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>th:last-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>td:last-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>th:last-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>td:last-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>th:last-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>td:last-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>th:last-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>td:last-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr:last-child>td,.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr:last-child>th,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr:last-child>td,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr:last-child>th,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr:last-child>td,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr:last-child>th,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr:last-child>td,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.ptx-runestone-container fieldset,.runestone-sphinx fieldset{border:0;margin:0;min-width:0;padding:0}.ptx-runestone-container legend,.runestone-sphinx legend{border:0;border-bottom:1px solid #e5e5e5;color:#333;display:block;font-size:21px;line-height:inherit;margin-bottom:20px;padding:0;width:100%}.ptx-runestone-container label,.runestone-sphinx label{display:inline-block;font-weight:700;margin-bottom:5px;max-width:100%}.ptx-runestone-container input[type=search],.runestone-sphinx input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ptx-runestone-container input[type=checkbox],.ptx-runestone-container input[type=radio],.runestone-sphinx input[type=checkbox],.runestone-sphinx input[type=radio]{line-height:normal;margin:4px 0 0;margin-top:1px\9}.ptx-runestone-container fieldset[disabled] input[type=checkbox],.ptx-runestone-container fieldset[disabled] input[type=radio],.ptx-runestone-container input[type=checkbox].disabled,.ptx-runestone-container input[type=checkbox][disabled],.ptx-runestone-container input[type=radio].disabled,.ptx-runestone-container input[type=radio][disabled],.runestone-sphinx fieldset[disabled] input[type=checkbox],.runestone-sphinx fieldset[disabled] input[type=radio],.runestone-sphinx input[type=checkbox].disabled,.runestone-sphinx input[type=checkbox][disabled],.runestone-sphinx input[type=radio].disabled,.runestone-sphinx input[type=radio][disabled]{cursor:not-allowed}.ptx-runestone-container input[type=file],.runestone-sphinx input[type=file]{display:block}.ptx-runestone-container input[type=range],.runestone-sphinx input[type=range]{display:block;width:100%}.ptx-runestone-container select[multiple],.ptx-runestone-container select[size],.runestone-sphinx select[multiple],.runestone-sphinx select[size]{height:auto}.ptx-runestone-container input[type=checkbox]:focus,.ptx-runestone-container input[type=file]:focus,.ptx-runestone-container input[type=radio]:focus,.runestone-sphinx input[type=checkbox]:focus,.runestone-sphinx input[type=file]:focus,.runestone-sphinx input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.ptx-runestone-container output,.runestone-sphinx output{color:#555;display:block;font-size:14px;line-height:1.42857143;padding-top:7px}.ptx-runestone-container .form-control,.runestone-sphinx .form-control{background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);color:#555;display:block;font-size:14px;height:34px;line-height:1.42857143;padding:6px 12px;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;width:100%}.ptx-runestone-container .form-control:focus,.runestone-sphinx .form-control:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);outline:0}.ptx-runestone-container .form-control::-moz-placeholder,.runestone-sphinx .form-control::-moz-placeholder{color:#999;opacity:1}.ptx-runestone-container .form-control:-ms-input-placeholder,.runestone-sphinx .form-control:-ms-input-placeholder{color:#999}.ptx-runestone-container .form-control::-webkit-input-placeholder,.runestone-sphinx .form-control::-webkit-input-placeholder{color:#999}.ptx-runestone-container .form-control::-ms-expand,.runestone-sphinx .form-control::-ms-expand{background-color:transparent;border:0}.ptx-runestone-container .form-control[disabled],.ptx-runestone-container .form-control[readonly],.ptx-runestone-container fieldset[disabled] .form-control,.runestone-sphinx .form-control[disabled],.runestone-sphinx .form-control[readonly],.runestone-sphinx fieldset[disabled] .form-control{background-color:#eee;opacity:1}.ptx-runestone-container .form-control[disabled],.ptx-runestone-container fieldset[disabled] .form-control,.runestone-sphinx .form-control[disabled],.runestone-sphinx fieldset[disabled] .form-control{cursor:not-allowed}.ptx-runestone-container textarea.form-control,.runestone-sphinx textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){.ptx-runestone-container input[type=date].form-control,.ptx-runestone-container input[type=datetime-local].form-control,.ptx-runestone-container input[type=month].form-control,.ptx-runestone-container input[type=time].form-control,.runestone-sphinx input[type=date].form-control,.runestone-sphinx input[type=datetime-local].form-control,.runestone-sphinx input[type=month].form-control,.runestone-sphinx input[type=time].form-control{line-height:34px}.ptx-runestone-container .input-group-sm input[type=date],.ptx-runestone-container .input-group-sm input[type=datetime-local],.ptx-runestone-container .input-group-sm input[type=month],.ptx-runestone-container .input-group-sm input[type=time],.ptx-runestone-container input[type=date].input-sm,.ptx-runestone-container input[type=datetime-local].input-sm,.ptx-runestone-container input[type=month].input-sm,.ptx-runestone-container input[type=time].input-sm,.runestone-sphinx .input-group-sm input[type=date],.runestone-sphinx .input-group-sm input[type=datetime-local],.runestone-sphinx .input-group-sm input[type=month],.runestone-sphinx .input-group-sm input[type=time],.runestone-sphinx input[type=date].input-sm,.runestone-sphinx input[type=datetime-local].input-sm,.runestone-sphinx input[type=month].input-sm,.runestone-sphinx input[type=time].input-sm{line-height:30px}.ptx-runestone-container .input-group-lg input[type=date],.ptx-runestone-container .input-group-lg input[type=datetime-local],.ptx-runestone-container .input-group-lg input[type=month],.ptx-runestone-container .input-group-lg input[type=time],.ptx-runestone-container input[type=date].input-lg,.ptx-runestone-container input[type=datetime-local].input-lg,.ptx-runestone-container input[type=month].input-lg,.ptx-runestone-container input[type=time].input-lg,.runestone-sphinx .input-group-lg input[type=date],.runestone-sphinx .input-group-lg input[type=datetime-local],.runestone-sphinx .input-group-lg input[type=month],.runestone-sphinx .input-group-lg input[type=time],.runestone-sphinx input[type=date].input-lg,.runestone-sphinx input[type=datetime-local].input-lg,.runestone-sphinx input[type=month].input-lg,.runestone-sphinx input[type=time].input-lg{line-height:46px}}.ptx-runestone-container .form-group,.runestone-sphinx .form-group{margin-bottom:15px}.ptx-runestone-container .checkbox,.ptx-runestone-container .radio,.runestone-sphinx .checkbox,.runestone-sphinx .radio{display:block;margin-bottom:10px;margin-top:10px;position:relative}.ptx-runestone-container .checkbox.disabled label,.ptx-runestone-container .radio.disabled label,.ptx-runestone-container fieldset[disabled] .checkbox label,.ptx-runestone-container fieldset[disabled] .radio label,.runestone-sphinx .checkbox.disabled label,.runestone-sphinx .radio.disabled label,.runestone-sphinx fieldset[disabled] .checkbox label,.runestone-sphinx fieldset[disabled] .radio label{cursor:not-allowed}.ptx-runestone-container .checkbox label,.ptx-runestone-container .radio label,.runestone-sphinx .checkbox label,.runestone-sphinx .radio label{cursor:pointer;font-weight:400;margin-bottom:0;min-height:20px;padding-left:20px}.ptx-runestone-container .checkbox input[type=checkbox],.ptx-runestone-container .checkbox-inline input[type=checkbox],.ptx-runestone-container .radio input[type=radio],.ptx-runestone-container .radio-inline input[type=radio],.runestone-sphinx .checkbox input[type=checkbox],.runestone-sphinx .checkbox-inline input[type=checkbox],.runestone-sphinx .radio input[type=radio],.runestone-sphinx .radio-inline input[type=radio]{margin-left:-20px;margin-top:4px\9;position:absolute}.ptx-runestone-container .checkbox+.checkbox,.ptx-runestone-container .radio+.radio,.runestone-sphinx .checkbox+.checkbox,.runestone-sphinx .radio+.radio{margin-top:-5px}.ptx-runestone-container .checkbox-inline,.ptx-runestone-container .radio-inline,.runestone-sphinx .checkbox-inline,.runestone-sphinx .radio-inline{cursor:pointer;display:inline-block;font-weight:400;margin-bottom:0;padding-left:20px;position:relative;vertical-align:middle}.ptx-runestone-container .checkbox-inline.disabled,.ptx-runestone-container .radio-inline.disabled,.ptx-runestone-container fieldset[disabled] .checkbox-inline,.ptx-runestone-container fieldset[disabled] .radio-inline,.runestone-sphinx .checkbox-inline.disabled,.runestone-sphinx .radio-inline.disabled,.runestone-sphinx fieldset[disabled] .checkbox-inline,.runestone-sphinx fieldset[disabled] .radio-inline{cursor:not-allowed}.ptx-runestone-container .checkbox-inline+.checkbox-inline,.ptx-runestone-container .radio-inline+.radio-inline,.runestone-sphinx .checkbox-inline+.checkbox-inline,.runestone-sphinx .radio-inline+.radio-inline{margin-left:10px;margin-top:0}.ptx-runestone-container .form-control-static,.runestone-sphinx .form-control-static{margin-bottom:0;min-height:34px;padding-bottom:7px;padding-top:7px}.ptx-runestone-container .form-control-static.input-lg,.ptx-runestone-container .form-control-static.input-sm,.runestone-sphinx .form-control-static.input-lg,.runestone-sphinx .form-control-static.input-sm{padding-left:0;padding-right:0}.ptx-runestone-container .input-sm,.runestone-sphinx .input-sm{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}.ptx-runestone-container select.input-sm,.runestone-sphinx select.input-sm{height:30px;line-height:30px}.ptx-runestone-container select[multiple].input-sm,.ptx-runestone-container textarea.input-sm,.runestone-sphinx select[multiple].input-sm,.runestone-sphinx textarea.input-sm{height:auto}.ptx-runestone-container .form-group-sm .form-control,.runestone-sphinx .form-group-sm .form-control{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}.ptx-runestone-container .form-group-sm select.form-control,.runestone-sphinx .form-group-sm select.form-control{height:30px;line-height:30px}.ptx-runestone-container .form-group-sm select[multiple].form-control,.ptx-runestone-container .form-group-sm textarea.form-control,.runestone-sphinx .form-group-sm select[multiple].form-control,.runestone-sphinx .form-group-sm textarea.form-control{height:auto}.ptx-runestone-container .form-group-sm .form-control-static,.runestone-sphinx .form-group-sm .form-control-static{font-size:12px;height:30px;line-height:1.5;min-height:32px;padding:6px 10px}.ptx-runestone-container .input-lg,.runestone-sphinx .input-lg{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container select.input-lg,.runestone-sphinx select.input-lg{height:46px;line-height:46px}.ptx-runestone-container select[multiple].input-lg,.ptx-runestone-container textarea.input-lg,.runestone-sphinx select[multiple].input-lg,.runestone-sphinx textarea.input-lg{height:auto}.ptx-runestone-container .form-group-lg .form-control,.runestone-sphinx .form-group-lg .form-control{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container .form-group-lg select.form-control,.runestone-sphinx .form-group-lg select.form-control{height:46px;line-height:46px}.ptx-runestone-container .form-group-lg select[multiple].form-control,.ptx-runestone-container .form-group-lg textarea.form-control,.runestone-sphinx .form-group-lg select[multiple].form-control,.runestone-sphinx .form-group-lg textarea.form-control{height:auto}.ptx-runestone-container .form-group-lg .form-control-static,.runestone-sphinx .form-group-lg .form-control-static{font-size:18px;height:46px;line-height:1.3333333;min-height:38px;padding:11px 16px}.ptx-runestone-container .has-feedback,.runestone-sphinx .has-feedback{position:relative}.ptx-runestone-container .has-feedback .form-control,.runestone-sphinx .has-feedback .form-control{padding-right:42.5px}.ptx-runestone-container .form-control-feedback,.runestone-sphinx .form-control-feedback{display:block;height:34px;line-height:34px;pointer-events:none;position:absolute;right:0;text-align:center;top:0;width:34px;z-index:2}.ptx-runestone-container .form-group-lg .form-control+.form-control-feedback,.ptx-runestone-container .input-group-lg+.form-control-feedback,.ptx-runestone-container .input-lg+.form-control-feedback,.runestone-sphinx .form-group-lg .form-control+.form-control-feedback,.runestone-sphinx .input-group-lg+.form-control-feedback,.runestone-sphinx .input-lg+.form-control-feedback{height:46px;line-height:46px;width:46px}.ptx-runestone-container .form-group-sm .form-control+.form-control-feedback,.ptx-runestone-container .input-group-sm+.form-control-feedback,.ptx-runestone-container .input-sm+.form-control-feedback,.runestone-sphinx .form-group-sm .form-control+.form-control-feedback,.runestone-sphinx .input-group-sm+.form-control-feedback,.runestone-sphinx .input-sm+.form-control-feedback{height:30px;line-height:30px;width:30px}.ptx-runestone-container .has-success .checkbox,.ptx-runestone-container .has-success .checkbox-inline,.ptx-runestone-container .has-success .control-label,.ptx-runestone-container .has-success .help-block,.ptx-runestone-container .has-success .radio,.ptx-runestone-container .has-success .radio-inline,.ptx-runestone-container .has-success.checkbox label,.ptx-runestone-container .has-success.checkbox-inline label,.ptx-runestone-container .has-success.radio label,.ptx-runestone-container .has-success.radio-inline label,.runestone-sphinx .has-success .checkbox,.runestone-sphinx .has-success .checkbox-inline,.runestone-sphinx .has-success .control-label,.runestone-sphinx .has-success .help-block,.runestone-sphinx .has-success .radio,.runestone-sphinx .has-success .radio-inline,.runestone-sphinx .has-success.checkbox label,.runestone-sphinx .has-success.checkbox-inline label,.runestone-sphinx .has-success.radio label,.runestone-sphinx .has-success.radio-inline label{color:#3c763d}.ptx-runestone-container .has-success .form-control,.runestone-sphinx .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.ptx-runestone-container .has-success .form-control:focus,.runestone-sphinx .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.ptx-runestone-container .has-success .input-group-addon,.runestone-sphinx .has-success .input-group-addon{background-color:#dff0d8;border-color:#3c763d;color:#3c763d}.ptx-runestone-container .has-success .form-control-feedback,.runestone-sphinx .has-success .form-control-feedback{color:#3c763d}.ptx-runestone-container .has-warning .checkbox,.ptx-runestone-container .has-warning .checkbox-inline,.ptx-runestone-container .has-warning .control-label,.ptx-runestone-container .has-warning .help-block,.ptx-runestone-container .has-warning .radio,.ptx-runestone-container .has-warning .radio-inline,.ptx-runestone-container .has-warning.checkbox label,.ptx-runestone-container .has-warning.checkbox-inline label,.ptx-runestone-container .has-warning.radio label,.ptx-runestone-container .has-warning.radio-inline label,.runestone-sphinx .has-warning .checkbox,.runestone-sphinx .has-warning .checkbox-inline,.runestone-sphinx .has-warning .control-label,.runestone-sphinx .has-warning .help-block,.runestone-sphinx .has-warning .radio,.runestone-sphinx .has-warning .radio-inline,.runestone-sphinx .has-warning.checkbox label,.runestone-sphinx .has-warning.checkbox-inline label,.runestone-sphinx .has-warning.radio label,.runestone-sphinx .has-warning.radio-inline label{color:#8a6d3b}.ptx-runestone-container .has-warning .form-control,.runestone-sphinx .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.ptx-runestone-container .has-warning .form-control:focus,.runestone-sphinx .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.ptx-runestone-container .has-warning .input-group-addon,.runestone-sphinx .has-warning .input-group-addon{background-color:#fcf8e3;border-color:#8a6d3b;color:#8a6d3b}.ptx-runestone-container .has-warning .form-control-feedback,.runestone-sphinx .has-warning .form-control-feedback{color:#8a6d3b}.ptx-runestone-container .has-error .checkbox,.ptx-runestone-container .has-error .checkbox-inline,.ptx-runestone-container .has-error .control-label,.ptx-runestone-container .has-error .help-block,.ptx-runestone-container .has-error .radio,.ptx-runestone-container .has-error .radio-inline,.ptx-runestone-container .has-error.checkbox label,.ptx-runestone-container .has-error.checkbox-inline label,.ptx-runestone-container .has-error.radio label,.ptx-runestone-container .has-error.radio-inline label,.runestone-sphinx .has-error .checkbox,.runestone-sphinx .has-error .checkbox-inline,.runestone-sphinx .has-error .control-label,.runestone-sphinx .has-error .help-block,.runestone-sphinx .has-error .radio,.runestone-sphinx .has-error .radio-inline,.runestone-sphinx .has-error.checkbox label,.runestone-sphinx .has-error.checkbox-inline label,.runestone-sphinx .has-error.radio label,.runestone-sphinx .has-error.radio-inline label{color:#a94442}.ptx-runestone-container .has-error .form-control,.runestone-sphinx .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.ptx-runestone-container .has-error .form-control:focus,.runestone-sphinx .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.ptx-runestone-container .has-error .input-group-addon,.runestone-sphinx .has-error .input-group-addon{background-color:#f2dede;border-color:#a94442;color:#a94442}.ptx-runestone-container .has-error .form-control-feedback,.runestone-sphinx .has-error .form-control-feedback{color:#a94442}.ptx-runestone-container .has-feedback label~.form-control-feedback,.runestone-sphinx .has-feedback label~.form-control-feedback{top:25px}.ptx-runestone-container .has-feedback label.sr-only~.form-control-feedback,.runestone-sphinx .has-feedback label.sr-only~.form-control-feedback{top:0}.ptx-runestone-container .help-block,.runestone-sphinx .help-block{color:#737373;display:block;margin-bottom:10px;margin-top:5px}@media (min-width:768px){.ptx-runestone-container .form-inline .form-group,.runestone-sphinx .form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.ptx-runestone-container .form-inline .form-control,.runestone-sphinx .form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.ptx-runestone-container .form-inline .form-control-static,.runestone-sphinx .form-inline .form-control-static{display:inline-block}.ptx-runestone-container .form-inline .input-group,.runestone-sphinx .form-inline .input-group{display:inline-table;vertical-align:middle}.ptx-runestone-container .form-inline .input-group .form-control,.ptx-runestone-container .form-inline .input-group .input-group-addon,.ptx-runestone-container .form-inline .input-group .input-group-btn,.runestone-sphinx .form-inline .input-group .form-control,.runestone-sphinx .form-inline .input-group .input-group-addon,.runestone-sphinx .form-inline .input-group .input-group-btn{width:auto}.ptx-runestone-container .form-inline .input-group>.form-control,.runestone-sphinx .form-inline .input-group>.form-control{width:100%}.ptx-runestone-container .form-inline .control-label,.runestone-sphinx .form-inline .control-label{margin-bottom:0;vertical-align:middle}.ptx-runestone-container .form-inline .checkbox,.ptx-runestone-container .form-inline .radio,.runestone-sphinx .form-inline .checkbox,.runestone-sphinx .form-inline .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.ptx-runestone-container .form-inline .checkbox label,.ptx-runestone-container .form-inline .radio label,.runestone-sphinx .form-inline .checkbox label,.runestone-sphinx .form-inline .radio label{padding-left:0}.ptx-runestone-container .form-inline .checkbox input[type=checkbox],.ptx-runestone-container .form-inline .radio input[type=radio],.runestone-sphinx .form-inline .checkbox input[type=checkbox],.runestone-sphinx .form-inline .radio input[type=radio]{margin-left:0;position:relative}.ptx-runestone-container .form-inline .has-feedback .form-control-feedback,.runestone-sphinx .form-inline .has-feedback .form-control-feedback{top:0}}.ptx-runestone-container .form-horizontal .checkbox,.ptx-runestone-container .form-horizontal .checkbox-inline,.ptx-runestone-container .form-horizontal .radio,.ptx-runestone-container .form-horizontal .radio-inline,.runestone-sphinx .form-horizontal .checkbox,.runestone-sphinx .form-horizontal .checkbox-inline,.runestone-sphinx .form-horizontal .radio,.runestone-sphinx .form-horizontal .radio-inline{margin-bottom:0;margin-top:0;padding-top:7px}.ptx-runestone-container .form-horizontal .checkbox,.ptx-runestone-container .form-horizontal .radio,.runestone-sphinx .form-horizontal .checkbox,.runestone-sphinx .form-horizontal .radio{min-height:27px}.ptx-runestone-container .form-horizontal .form-group,.runestone-sphinx .form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.ptx-runestone-container .form-horizontal .control-label,.runestone-sphinx .form-horizontal .control-label{margin-bottom:0;padding-top:7px;text-align:right}}.ptx-runestone-container .form-horizontal .has-feedback .form-control-feedback,.runestone-sphinx .form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.ptx-runestone-container .form-horizontal .form-group-lg .control-label,.runestone-sphinx .form-horizontal .form-group-lg .control-label{font-size:18px;padding-top:11px}.ptx-runestone-container .form-horizontal .form-group-sm .control-label,.runestone-sphinx .form-horizontal .form-group-sm .control-label{font-size:12px;padding-top:6px}}.ptx-runestone-container .btn,.runestone-sphinx .btn{background-image:none;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1.42857143;margin-bottom:0;padding:6px 12px;text-align:center;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.ptx-runestone-container .btn.active.focus,.ptx-runestone-container .btn.active:focus,.ptx-runestone-container .btn.focus,.ptx-runestone-container .btn:active.focus,.ptx-runestone-container .btn:active:focus,.ptx-runestone-container .btn:focus,.runestone-sphinx .btn.active.focus,.runestone-sphinx .btn.active:focus,.runestone-sphinx .btn.focus,.runestone-sphinx .btn:active.focus,.runestone-sphinx .btn:active:focus,.runestone-sphinx .btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.ptx-runestone-container .btn.focus,.ptx-runestone-container .btn:focus,.ptx-runestone-container .btn:hover,.runestone-sphinx .btn.focus,.runestone-sphinx .btn:focus,.runestone-sphinx .btn:hover{color:#333;text-decoration:none}.ptx-runestone-container .btn.active,.ptx-runestone-container .btn:active,.runestone-sphinx .btn.active,.runestone-sphinx .btn:active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125);outline:0}.ptx-runestone-container .btn.disabled,.ptx-runestone-container .btn[disabled],.ptx-runestone-container fieldset[disabled] .btn,.runestone-sphinx .btn.disabled,.runestone-sphinx .btn[disabled],.runestone-sphinx fieldset[disabled] .btn{-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;filter:alpha(opacity=65);opacity:.65}.ptx-runestone-container a.btn.disabled,.ptx-runestone-container fieldset[disabled] a.btn,.runestone-sphinx a.btn.disabled,.runestone-sphinx fieldset[disabled] a.btn{pointer-events:none}.ptx-runestone-container .btn-default,.runestone-sphinx .btn-default{background-color:#fff;border-color:#ccc;color:#333}.ptx-runestone-container .btn-default.focus,.ptx-runestone-container .btn-default:focus,.runestone-sphinx .btn-default.focus,.runestone-sphinx .btn-default:focus{background-color:#e6e6e6;border-color:#8c8c8c;color:#333}.ptx-runestone-container .btn-default:hover,.runestone-sphinx .btn-default:hover{background-color:#e6e6e6;border-color:#adadad;color:#333}.ptx-runestone-container .btn-default.active,.ptx-runestone-container .btn-default:active,.ptx-runestone-container .open>.dropdown-toggle.btn-default,.runestone-sphinx .btn-default.active,.runestone-sphinx .btn-default:active,.runestone-sphinx .open>.dropdown-toggle.btn-default{background-color:#e6e6e6;background-image:none;border-color:#adadad;color:#333}.ptx-runestone-container .btn-default.active.focus,.ptx-runestone-container .btn-default.active:focus,.ptx-runestone-container .btn-default.active:hover,.ptx-runestone-container .btn-default:active.focus,.ptx-runestone-container .btn-default:active:focus,.ptx-runestone-container .btn-default:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-default.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-default:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-default:hover,.runestone-sphinx .btn-default.active.focus,.runestone-sphinx .btn-default.active:focus,.runestone-sphinx .btn-default.active:hover,.runestone-sphinx .btn-default:active.focus,.runestone-sphinx .btn-default:active:focus,.runestone-sphinx .btn-default:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-default.focus,.runestone-sphinx .open>.dropdown-toggle.btn-default:focus,.runestone-sphinx .open>.dropdown-toggle.btn-default:hover{background-color:#d4d4d4;border-color:#8c8c8c;color:#333}.ptx-runestone-container .btn-default.disabled.focus,.ptx-runestone-container .btn-default.disabled:focus,.ptx-runestone-container .btn-default.disabled:hover,.ptx-runestone-container .btn-default[disabled].focus,.ptx-runestone-container .btn-default[disabled]:focus,.ptx-runestone-container .btn-default[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-default.focus,.ptx-runestone-container fieldset[disabled] .btn-default:focus,.ptx-runestone-container fieldset[disabled] .btn-default:hover,.runestone-sphinx .btn-default.disabled.focus,.runestone-sphinx .btn-default.disabled:focus,.runestone-sphinx .btn-default.disabled:hover,.runestone-sphinx .btn-default[disabled].focus,.runestone-sphinx .btn-default[disabled]:focus,.runestone-sphinx .btn-default[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-default.focus,.runestone-sphinx fieldset[disabled] .btn-default:focus,.runestone-sphinx fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.ptx-runestone-container .btn-default .badge,.runestone-sphinx .btn-default .badge{background-color:#333;color:#fff}.ptx-runestone-container .btn-primary,.runestone-sphinx .btn-primary{background-color:#337ab7;border-color:#2e6da4;color:#fff}.ptx-runestone-container .btn-primary.focus,.ptx-runestone-container .btn-primary:focus,.runestone-sphinx .btn-primary.focus,.runestone-sphinx .btn-primary:focus{background-color:#286090;border-color:#122b40;color:#fff}.ptx-runestone-container .btn-primary:hover,.runestone-sphinx .btn-primary:hover{background-color:#286090;border-color:#204d74;color:#fff}.ptx-runestone-container .btn-primary.active,.ptx-runestone-container .btn-primary:active,.ptx-runestone-container .open>.dropdown-toggle.btn-primary,.runestone-sphinx .btn-primary.active,.runestone-sphinx .btn-primary:active,.runestone-sphinx .open>.dropdown-toggle.btn-primary{background-color:#286090;background-image:none;border-color:#204d74;color:#fff}.ptx-runestone-container .btn-primary.active.focus,.ptx-runestone-container .btn-primary.active:focus,.ptx-runestone-container .btn-primary.active:hover,.ptx-runestone-container .btn-primary:active.focus,.ptx-runestone-container .btn-primary:active:focus,.ptx-runestone-container .btn-primary:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-primary.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-primary:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-primary:hover,.runestone-sphinx .btn-primary.active.focus,.runestone-sphinx .btn-primary.active:focus,.runestone-sphinx .btn-primary.active:hover,.runestone-sphinx .btn-primary:active.focus,.runestone-sphinx .btn-primary:active:focus,.runestone-sphinx .btn-primary:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-primary.focus,.runestone-sphinx .open>.dropdown-toggle.btn-primary:focus,.runestone-sphinx .open>.dropdown-toggle.btn-primary:hover{background-color:#204d74;border-color:#122b40;color:#fff}.ptx-runestone-container .btn-primary.disabled.focus,.ptx-runestone-container .btn-primary.disabled:focus,.ptx-runestone-container .btn-primary.disabled:hover,.ptx-runestone-container .btn-primary[disabled].focus,.ptx-runestone-container .btn-primary[disabled]:focus,.ptx-runestone-container .btn-primary[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-primary.focus,.ptx-runestone-container fieldset[disabled] .btn-primary:focus,.ptx-runestone-container fieldset[disabled] .btn-primary:hover,.runestone-sphinx .btn-primary.disabled.focus,.runestone-sphinx .btn-primary.disabled:focus,.runestone-sphinx .btn-primary.disabled:hover,.runestone-sphinx .btn-primary[disabled].focus,.runestone-sphinx .btn-primary[disabled]:focus,.runestone-sphinx .btn-primary[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-primary.focus,.runestone-sphinx fieldset[disabled] .btn-primary:focus,.runestone-sphinx fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.ptx-runestone-container .btn-primary .badge,.runestone-sphinx .btn-primary .badge{background-color:#fff;color:#337ab7}.ptx-runestone-container .btn-success,.runestone-sphinx .btn-success{background-color:#5cb85c;border-color:#4cae4c;color:#fff}.ptx-runestone-container .btn-success.focus,.ptx-runestone-container .btn-success:focus,.runestone-sphinx .btn-success.focus,.runestone-sphinx .btn-success:focus{background-color:#449d44;border-color:#255625;color:#fff}.ptx-runestone-container .btn-success:hover,.runestone-sphinx .btn-success:hover{background-color:#449d44;border-color:#398439;color:#fff}.ptx-runestone-container .btn-success.active,.ptx-runestone-container .btn-success:active,.ptx-runestone-container .open>.dropdown-toggle.btn-success,.runestone-sphinx .btn-success.active,.runestone-sphinx .btn-success:active,.runestone-sphinx .open>.dropdown-toggle.btn-success{background-color:#449d44;background-image:none;border-color:#398439;color:#fff}.ptx-runestone-container .btn-success.active.focus,.ptx-runestone-container .btn-success.active:focus,.ptx-runestone-container .btn-success.active:hover,.ptx-runestone-container .btn-success:active.focus,.ptx-runestone-container .btn-success:active:focus,.ptx-runestone-container .btn-success:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-success.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-success:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-success:hover,.runestone-sphinx .btn-success.active.focus,.runestone-sphinx .btn-success.active:focus,.runestone-sphinx .btn-success.active:hover,.runestone-sphinx .btn-success:active.focus,.runestone-sphinx .btn-success:active:focus,.runestone-sphinx .btn-success:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-success.focus,.runestone-sphinx .open>.dropdown-toggle.btn-success:focus,.runestone-sphinx .open>.dropdown-toggle.btn-success:hover{background-color:#398439;border-color:#255625;color:#fff}.ptx-runestone-container .btn-success.disabled.focus,.ptx-runestone-container .btn-success.disabled:focus,.ptx-runestone-container .btn-success.disabled:hover,.ptx-runestone-container .btn-success[disabled].focus,.ptx-runestone-container .btn-success[disabled]:focus,.ptx-runestone-container .btn-success[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-success.focus,.ptx-runestone-container fieldset[disabled] .btn-success:focus,.ptx-runestone-container fieldset[disabled] .btn-success:hover,.runestone-sphinx .btn-success.disabled.focus,.runestone-sphinx .btn-success.disabled:focus,.runestone-sphinx .btn-success.disabled:hover,.runestone-sphinx .btn-success[disabled].focus,.runestone-sphinx .btn-success[disabled]:focus,.runestone-sphinx .btn-success[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-success.focus,.runestone-sphinx fieldset[disabled] .btn-success:focus,.runestone-sphinx fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.ptx-runestone-container .btn-success .badge,.runestone-sphinx .btn-success .badge{background-color:#fff;color:#5cb85c}.ptx-runestone-container .btn-info,.runestone-sphinx .btn-info{background-color:#5bc0de;border-color:#46b8da;color:#fff}.ptx-runestone-container .btn-info.focus,.ptx-runestone-container .btn-info:focus,.runestone-sphinx .btn-info.focus,.runestone-sphinx .btn-info:focus{background-color:#31b0d5;border-color:#1b6d85;color:#fff}.ptx-runestone-container .btn-info:hover,.runestone-sphinx .btn-info:hover{background-color:#31b0d5;border-color:#269abc;color:#fff}.ptx-runestone-container .btn-info.active,.ptx-runestone-container .btn-info:active,.ptx-runestone-container .open>.dropdown-toggle.btn-info,.runestone-sphinx .btn-info.active,.runestone-sphinx .btn-info:active,.runestone-sphinx .open>.dropdown-toggle.btn-info{background-color:#31b0d5;background-image:none;border-color:#269abc;color:#fff}.ptx-runestone-container .btn-info.active.focus,.ptx-runestone-container .btn-info.active:focus,.ptx-runestone-container .btn-info.active:hover,.ptx-runestone-container .btn-info:active.focus,.ptx-runestone-container .btn-info:active:focus,.ptx-runestone-container .btn-info:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-info.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-info:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-info:hover,.runestone-sphinx .btn-info.active.focus,.runestone-sphinx .btn-info.active:focus,.runestone-sphinx .btn-info.active:hover,.runestone-sphinx .btn-info:active.focus,.runestone-sphinx .btn-info:active:focus,.runestone-sphinx .btn-info:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-info.focus,.runestone-sphinx .open>.dropdown-toggle.btn-info:focus,.runestone-sphinx .open>.dropdown-toggle.btn-info:hover{background-color:#269abc;border-color:#1b6d85;color:#fff}.ptx-runestone-container .btn-info.disabled.focus,.ptx-runestone-container .btn-info.disabled:focus,.ptx-runestone-container .btn-info.disabled:hover,.ptx-runestone-container .btn-info[disabled].focus,.ptx-runestone-container .btn-info[disabled]:focus,.ptx-runestone-container .btn-info[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-info.focus,.ptx-runestone-container fieldset[disabled] .btn-info:focus,.ptx-runestone-container fieldset[disabled] .btn-info:hover,.runestone-sphinx .btn-info.disabled.focus,.runestone-sphinx .btn-info.disabled:focus,.runestone-sphinx .btn-info.disabled:hover,.runestone-sphinx .btn-info[disabled].focus,.runestone-sphinx .btn-info[disabled]:focus,.runestone-sphinx .btn-info[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-info.focus,.runestone-sphinx fieldset[disabled] .btn-info:focus,.runestone-sphinx fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.ptx-runestone-container .btn-info .badge,.runestone-sphinx .btn-info .badge{background-color:#fff;color:#5bc0de}.ptx-runestone-container .btn-warning,.runestone-sphinx .btn-warning{background-color:#f0ad4e;border-color:#eea236;color:#fff}.ptx-runestone-container .btn-warning.focus,.ptx-runestone-container .btn-warning:focus,.runestone-sphinx .btn-warning.focus,.runestone-sphinx .btn-warning:focus{background-color:#ec971f;border-color:#985f0d;color:#fff}.ptx-runestone-container .btn-warning:hover,.runestone-sphinx .btn-warning:hover{background-color:#ec971f;border-color:#d58512;color:#fff}.ptx-runestone-container .btn-warning.active,.ptx-runestone-container .btn-warning:active,.ptx-runestone-container .open>.dropdown-toggle.btn-warning,.runestone-sphinx .btn-warning.active,.runestone-sphinx .btn-warning:active,.runestone-sphinx .open>.dropdown-toggle.btn-warning{background-color:#ec971f;background-image:none;border-color:#d58512;color:#fff}.ptx-runestone-container .btn-warning.active.focus,.ptx-runestone-container .btn-warning.active:focus,.ptx-runestone-container .btn-warning.active:hover,.ptx-runestone-container .btn-warning:active.focus,.ptx-runestone-container .btn-warning:active:focus,.ptx-runestone-container .btn-warning:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-warning.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-warning:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-warning:hover,.runestone-sphinx .btn-warning.active.focus,.runestone-sphinx .btn-warning.active:focus,.runestone-sphinx .btn-warning.active:hover,.runestone-sphinx .btn-warning:active.focus,.runestone-sphinx .btn-warning:active:focus,.runestone-sphinx .btn-warning:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-warning.focus,.runestone-sphinx .open>.dropdown-toggle.btn-warning:focus,.runestone-sphinx .open>.dropdown-toggle.btn-warning:hover{background-color:#d58512;border-color:#985f0d;color:#fff}.ptx-runestone-container .btn-warning.disabled.focus,.ptx-runestone-container .btn-warning.disabled:focus,.ptx-runestone-container .btn-warning.disabled:hover,.ptx-runestone-container .btn-warning[disabled].focus,.ptx-runestone-container .btn-warning[disabled]:focus,.ptx-runestone-container .btn-warning[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-warning.focus,.ptx-runestone-container fieldset[disabled] .btn-warning:focus,.ptx-runestone-container fieldset[disabled] .btn-warning:hover,.runestone-sphinx .btn-warning.disabled.focus,.runestone-sphinx .btn-warning.disabled:focus,.runestone-sphinx .btn-warning.disabled:hover,.runestone-sphinx .btn-warning[disabled].focus,.runestone-sphinx .btn-warning[disabled]:focus,.runestone-sphinx .btn-warning[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-warning.focus,.runestone-sphinx fieldset[disabled] .btn-warning:focus,.runestone-sphinx fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.ptx-runestone-container .btn-warning .badge,.runestone-sphinx .btn-warning .badge{background-color:#fff;color:#f0ad4e}.ptx-runestone-container .btn-danger,.runestone-sphinx .btn-danger{background-color:#d9534f;border-color:#d43f3a;color:#fff}.ptx-runestone-container .btn-danger.focus,.ptx-runestone-container .btn-danger:focus,.runestone-sphinx .btn-danger.focus,.runestone-sphinx .btn-danger:focus{background-color:#c9302c;border-color:#761c19;color:#fff}.ptx-runestone-container .btn-danger:hover,.runestone-sphinx .btn-danger:hover{background-color:#c9302c;border-color:#ac2925;color:#fff}.ptx-runestone-container .btn-danger.active,.ptx-runestone-container .btn-danger:active,.ptx-runestone-container .open>.dropdown-toggle.btn-danger,.runestone-sphinx .btn-danger.active,.runestone-sphinx .btn-danger:active,.runestone-sphinx .open>.dropdown-toggle.btn-danger{background-color:#c9302c;background-image:none;border-color:#ac2925;color:#fff}.ptx-runestone-container .btn-danger.active.focus,.ptx-runestone-container .btn-danger.active:focus,.ptx-runestone-container .btn-danger.active:hover,.ptx-runestone-container .btn-danger:active.focus,.ptx-runestone-container .btn-danger:active:focus,.ptx-runestone-container .btn-danger:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-danger.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-danger:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-danger:hover,.runestone-sphinx .btn-danger.active.focus,.runestone-sphinx .btn-danger.active:focus,.runestone-sphinx .btn-danger.active:hover,.runestone-sphinx .btn-danger:active.focus,.runestone-sphinx .btn-danger:active:focus,.runestone-sphinx .btn-danger:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-danger.focus,.runestone-sphinx .open>.dropdown-toggle.btn-danger:focus,.runestone-sphinx .open>.dropdown-toggle.btn-danger:hover{background-color:#ac2925;border-color:#761c19;color:#fff}.ptx-runestone-container .btn-danger.disabled.focus,.ptx-runestone-container .btn-danger.disabled:focus,.ptx-runestone-container .btn-danger.disabled:hover,.ptx-runestone-container .btn-danger[disabled].focus,.ptx-runestone-container .btn-danger[disabled]:focus,.ptx-runestone-container .btn-danger[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-danger.focus,.ptx-runestone-container fieldset[disabled] .btn-danger:focus,.ptx-runestone-container fieldset[disabled] .btn-danger:hover,.runestone-sphinx .btn-danger.disabled.focus,.runestone-sphinx .btn-danger.disabled:focus,.runestone-sphinx .btn-danger.disabled:hover,.runestone-sphinx .btn-danger[disabled].focus,.runestone-sphinx .btn-danger[disabled]:focus,.runestone-sphinx .btn-danger[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-danger.focus,.runestone-sphinx fieldset[disabled] .btn-danger:focus,.runestone-sphinx fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.ptx-runestone-container .btn-danger .badge,.runestone-sphinx .btn-danger .badge{background-color:#fff;color:#d9534f}.ptx-runestone-container .btn-link,.runestone-sphinx .btn-link{border-radius:0;color:#337ab7;font-weight:400}.ptx-runestone-container .btn-link,.ptx-runestone-container .btn-link.active,.ptx-runestone-container .btn-link:active,.ptx-runestone-container .btn-link[disabled],.ptx-runestone-container fieldset[disabled] .btn-link,.runestone-sphinx .btn-link,.runestone-sphinx .btn-link.active,.runestone-sphinx .btn-link:active,.runestone-sphinx .btn-link[disabled],.runestone-sphinx fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.ptx-runestone-container .btn-link,.ptx-runestone-container .btn-link:active,.ptx-runestone-container .btn-link:focus,.ptx-runestone-container .btn-link:hover,.runestone-sphinx .btn-link,.runestone-sphinx .btn-link:active,.runestone-sphinx .btn-link:focus,.runestone-sphinx .btn-link:hover{border-color:transparent}.ptx-runestone-container .btn-link:focus,.ptx-runestone-container .btn-link:hover,.runestone-sphinx .btn-link:focus,.runestone-sphinx .btn-link:hover{background-color:transparent;color:#23527c;text-decoration:underline}.ptx-runestone-container .btn-link[disabled]:focus,.ptx-runestone-container .btn-link[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-link:focus,.ptx-runestone-container fieldset[disabled] .btn-link:hover,.runestone-sphinx .btn-link[disabled]:focus,.runestone-sphinx .btn-link[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-link:focus,.runestone-sphinx fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.ptx-runestone-container .btn-group-lg>.btn,.ptx-runestone-container .btn-lg,.runestone-sphinx .btn-group-lg>.btn,.runestone-sphinx .btn-lg{border-radius:6px;font-size:18px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container .btn-group-sm>.btn,.ptx-runestone-container .btn-sm,.runestone-sphinx .btn-group-sm>.btn,.runestone-sphinx .btn-sm{border-radius:3px;font-size:12px;line-height:1.5;padding:5px 10px}.ptx-runestone-container .btn-group-xs>.btn,.ptx-runestone-container .btn-xs,.runestone-sphinx .btn-group-xs>.btn,.runestone-sphinx .btn-xs{border-radius:3px;font-size:12px;line-height:1.5;padding:1px 5px}.ptx-runestone-container .btn-block,.runestone-sphinx .btn-block{display:block;width:100%}.ptx-runestone-container .btn-block+.btn-block,.runestone-sphinx .btn-block+.btn-block{margin-top:5px}.ptx-runestone-container input[type=button].btn-block,.ptx-runestone-container input[type=reset].btn-block,.ptx-runestone-container input[type=submit].btn-block,.runestone-sphinx input[type=button].btn-block,.runestone-sphinx input[type=reset].btn-block,.runestone-sphinx input[type=submit].btn-block{width:100%}.ptx-runestone-container .fade,.runestone-sphinx .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.ptx-runestone-container .fade.in,.runestone-sphinx .fade.in{opacity:1}.ptx-runestone-container .collapse,.runestone-sphinx .collapse{display:none}.ptx-runestone-container .collapse.in,.runestone-sphinx .collapse.in{display:block}.ptx-runestone-container tr.collapse.in,.runestone-sphinx tr.collapse.in{display:table-row}.ptx-runestone-container tbody.collapse.in,.runestone-sphinx tbody.collapse.in{display:table-row-group}.ptx-runestone-container .collapsing,.runestone-sphinx .collapsing{height:0;overflow:hidden;position:relative;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.ptx-runestone-container .caret,.runestone-sphinx .caret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px dashed;border-top:4px solid\9;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0}.ptx-runestone-container .dropdown,.ptx-runestone-container .dropup,.runestone-sphinx .dropdown,.runestone-sphinx .dropup{position:relative}.ptx-runestone-container .dropdown-toggle:focus,.runestone-sphinx .dropdown-toggle:focus{outline:0}.ptx-runestone-container .dropdown-menu,.runestone-sphinx .dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);display:none;float:left;font-size:14px;left:0;list-style:none;margin:2px 0 0;min-width:160px;padding:5px 0;position:absolute;text-align:left;top:100%;z-index:1000}.ptx-runestone-container .dropdown-menu.pull-right,.runestone-sphinx .dropdown-menu.pull-right{left:auto;right:0}.ptx-runestone-container .dropdown-menu .divider,.runestone-sphinx .dropdown-menu .divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.ptx-runestone-container .dropdown-menu>li>a,.runestone-sphinx .dropdown-menu>li>a{clear:both;color:#333;display:block;font-weight:400;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.ptx-runestone-container .dropdown-menu>li>a:focus,.ptx-runestone-container .dropdown-menu>li>a:hover,.runestone-sphinx .dropdown-menu>li>a:focus,.runestone-sphinx .dropdown-menu>li>a:hover{background-color:#f5f5f5;color:#262626;text-decoration:none}.ptx-runestone-container .dropdown-menu>.active>a,.ptx-runestone-container .dropdown-menu>.active>a:focus,.ptx-runestone-container .dropdown-menu>.active>a:hover,.runestone-sphinx .dropdown-menu>.active>a,.runestone-sphinx .dropdown-menu>.active>a:focus,.runestone-sphinx .dropdown-menu>.active>a:hover{background-color:#337ab7;color:#fff;outline:0;text-decoration:none}.ptx-runestone-container .dropdown-menu>.disabled>a,.ptx-runestone-container .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .dropdown-menu>.disabled>a:hover,.runestone-sphinx .dropdown-menu>.disabled>a,.runestone-sphinx .dropdown-menu>.disabled>a:focus,.runestone-sphinx .dropdown-menu>.disabled>a:hover{color:#777}.ptx-runestone-container .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .dropdown-menu>.disabled>a:hover,.runestone-sphinx .dropdown-menu>.disabled>a:focus,.runestone-sphinx .dropdown-menu>.disabled>a:hover{background-color:transparent;background-image:none;cursor:not-allowed;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);text-decoration:none}.ptx-runestone-container .open>.dropdown-menu,.runestone-sphinx .open>.dropdown-menu{display:block}.ptx-runestone-container .open>a,.runestone-sphinx .open>a{outline:0}.ptx-runestone-container .dropdown-menu-right,.runestone-sphinx .dropdown-menu-right{left:auto;right:0}.ptx-runestone-container .dropdown-menu-left,.runestone-sphinx .dropdown-menu-left{left:0;right:auto}.ptx-runestone-container .dropdown-header,.runestone-sphinx .dropdown-header{color:#777;display:block;font-size:12px;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.ptx-runestone-container .dropdown-backdrop,.runestone-sphinx .dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:990}.ptx-runestone-container .pull-right>.dropdown-menu,.runestone-sphinx .pull-right>.dropdown-menu{left:auto;right:0}.ptx-runestone-container .dropup .caret,.ptx-runestone-container .navbar-fixed-bottom .dropdown .caret,.runestone-sphinx .dropup .caret,.runestone-sphinx .navbar-fixed-bottom .dropdown .caret{border-bottom:4px dashed;border-bottom:4px solid\9;border-top:0;content:""}.ptx-runestone-container .dropup .dropdown-menu,.ptx-runestone-container .navbar-fixed-bottom .dropdown .dropdown-menu,.runestone-sphinx .dropup .dropdown-menu,.runestone-sphinx .navbar-fixed-bottom .dropdown .dropdown-menu{bottom:100%;margin-bottom:2px;top:auto}@media (min-width:768px){.ptx-runestone-container .navbar-right .dropdown-menu,.runestone-sphinx .navbar-right .dropdown-menu{left:auto;right:0}.ptx-runestone-container .navbar-right .dropdown-menu-left,.runestone-sphinx .navbar-right .dropdown-menu-left{left:0;right:auto}}.ptx-runestone-container .btn-group,.ptx-runestone-container .btn-group-vertical,.runestone-sphinx .btn-group,.runestone-sphinx .btn-group-vertical{display:inline-block;position:relative;vertical-align:middle}.ptx-runestone-container .btn-group-vertical>.btn,.ptx-runestone-container .btn-group>.btn,.runestone-sphinx .btn-group-vertical>.btn,.runestone-sphinx .btn-group>.btn{float:left;position:relative}.ptx-runestone-container .btn-group-vertical>.btn.active,.ptx-runestone-container .btn-group-vertical>.btn:active,.ptx-runestone-container .btn-group-vertical>.btn:focus,.ptx-runestone-container .btn-group-vertical>.btn:hover,.ptx-runestone-container .btn-group>.btn.active,.ptx-runestone-container .btn-group>.btn:active,.ptx-runestone-container .btn-group>.btn:focus,.ptx-runestone-container .btn-group>.btn:hover,.runestone-sphinx .btn-group-vertical>.btn.active,.runestone-sphinx .btn-group-vertical>.btn:active,.runestone-sphinx .btn-group-vertical>.btn:focus,.runestone-sphinx .btn-group-vertical>.btn:hover,.runestone-sphinx .btn-group>.btn.active,.runestone-sphinx .btn-group>.btn:active,.runestone-sphinx .btn-group>.btn:focus,.runestone-sphinx .btn-group>.btn:hover{z-index:2}.ptx-runestone-container .btn-group .btn+.btn,.ptx-runestone-container .btn-group .btn+.btn-group,.ptx-runestone-container .btn-group .btn-group+.btn,.ptx-runestone-container .btn-group .btn-group+.btn-group,.runestone-sphinx .btn-group .btn+.btn,.runestone-sphinx .btn-group .btn+.btn-group,.runestone-sphinx .btn-group .btn-group+.btn,.runestone-sphinx .btn-group .btn-group+.btn-group{margin-left:-1px}.ptx-runestone-container .btn-toolbar,.runestone-sphinx .btn-toolbar{margin-left:-5px}.ptx-runestone-container .btn-toolbar .btn,.ptx-runestone-container .btn-toolbar .btn-group,.ptx-runestone-container .btn-toolbar .input-group,.runestone-sphinx .btn-toolbar .btn,.runestone-sphinx .btn-toolbar .btn-group,.runestone-sphinx .btn-toolbar .input-group{float:left}.ptx-runestone-container .btn-toolbar>.btn,.ptx-runestone-container .btn-toolbar>.btn-group,.ptx-runestone-container .btn-toolbar>.input-group,.runestone-sphinx .btn-toolbar>.btn,.runestone-sphinx .btn-toolbar>.btn-group,.runestone-sphinx .btn-toolbar>.input-group{margin-left:5px}.ptx-runestone-container .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle),.runestone-sphinx .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.ptx-runestone-container .btn-group>.btn:first-child,.runestone-sphinx .btn-group>.btn:first-child{margin-left:0}.ptx-runestone-container .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle),.runestone-sphinx .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group>.btn:last-child:not(:first-child),.ptx-runestone-container .btn-group>.dropdown-toggle:not(:first-child),.runestone-sphinx .btn-group>.btn:last-child:not(:first-child),.runestone-sphinx .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.ptx-runestone-container .btn-group>.btn-group,.runestone-sphinx .btn-group>.btn-group{float:left}.ptx-runestone-container .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.runestone-sphinx .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.ptx-runestone-container .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.ptx-runestone-container .btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.runestone-sphinx .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.runestone-sphinx .btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.runestone-sphinx .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ptx-runestone-container .btn-group .dropdown-toggle:active,.ptx-runestone-container .btn-group.open .dropdown-toggle,.runestone-sphinx .btn-group .dropdown-toggle:active,.runestone-sphinx .btn-group.open .dropdown-toggle{outline:0}.ptx-runestone-container .btn-group>.btn+.dropdown-toggle,.runestone-sphinx .btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.ptx-runestone-container .btn-group>.btn-lg+.dropdown-toggle,.runestone-sphinx .btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.ptx-runestone-container .btn-group.open .dropdown-toggle,.runestone-sphinx .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.ptx-runestone-container .btn-group.open .dropdown-toggle.btn-link,.runestone-sphinx .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.ptx-runestone-container .btn .caret,.runestone-sphinx .btn .caret{margin-left:0}.ptx-runestone-container .btn-lg .caret,.runestone-sphinx .btn-lg .caret{border-width:5px 5px 0}.ptx-runestone-container .dropup .btn-lg .caret,.runestone-sphinx .dropup .btn-lg .caret{border-width:0 5px 5px}.ptx-runestone-container .btn-group-vertical>.btn,.ptx-runestone-container .btn-group-vertical>.btn-group,.ptx-runestone-container .btn-group-vertical>.btn-group>.btn,.runestone-sphinx .btn-group-vertical>.btn,.runestone-sphinx .btn-group-vertical>.btn-group,.runestone-sphinx .btn-group-vertical>.btn-group>.btn{display:block;float:none;max-width:100%;width:100%}.ptx-runestone-container .btn-group-vertical>.btn-group>.btn,.runestone-sphinx .btn-group-vertical>.btn-group>.btn{float:none}.ptx-runestone-container .btn-group-vertical>.btn+.btn,.ptx-runestone-container .btn-group-vertical>.btn+.btn-group,.ptx-runestone-container .btn-group-vertical>.btn-group+.btn,.ptx-runestone-container .btn-group-vertical>.btn-group+.btn-group,.runestone-sphinx .btn-group-vertical>.btn+.btn,.runestone-sphinx .btn-group-vertical>.btn+.btn-group,.runestone-sphinx .btn-group-vertical>.btn-group+.btn,.runestone-sphinx .btn-group-vertical>.btn-group+.btn-group{margin-left:0;margin-top:-1px}.ptx-runestone-container .btn-group-vertical>.btn:not(:first-child):not(:last-child),.runestone-sphinx .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.ptx-runestone-container .btn-group-vertical>.btn:first-child:not(:last-child),.runestone-sphinx .btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.ptx-runestone-container .btn-group-vertical>.btn:last-child:not(:first-child),.runestone-sphinx .btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn,.runestone-sphinx .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.ptx-runestone-container .btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.ptx-runestone-container .btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.runestone-sphinx .btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.runestone-sphinx .btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}.ptx-runestone-container .btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child,.runestone-sphinx .btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group-justified,.runestone-sphinx .btn-group-justified{border-collapse:separate;display:table;table-layout:fixed;width:100%}.ptx-runestone-container .btn-group-justified>.btn,.ptx-runestone-container .btn-group-justified>.btn-group,.runestone-sphinx .btn-group-justified>.btn,.runestone-sphinx .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.ptx-runestone-container .btn-group-justified>.btn-group .btn,.runestone-sphinx .btn-group-justified>.btn-group .btn{width:100%}.ptx-runestone-container .btn-group-justified>.btn-group .dropdown-menu,.runestone-sphinx .btn-group-justified>.btn-group .dropdown-menu{left:auto}.ptx-runestone-container [data-toggle=buttons]>.btn input[type=checkbox],.ptx-runestone-container [data-toggle=buttons]>.btn input[type=radio],.ptx-runestone-container [data-toggle=buttons]>.btn-group>.btn input[type=checkbox],.ptx-runestone-container [data-toggle=buttons]>.btn-group>.btn input[type=radio],.runestone-sphinx [data-toggle=buttons]>.btn input[type=checkbox],.runestone-sphinx [data-toggle=buttons]>.btn input[type=radio],.runestone-sphinx [data-toggle=buttons]>.btn-group>.btn input[type=checkbox],.runestone-sphinx [data-toggle=buttons]>.btn-group>.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.ptx-runestone-container .input-group,.runestone-sphinx .input-group{border-collapse:separate;display:table;position:relative}.ptx-runestone-container .input-group[class*=col-],.runestone-sphinx .input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.ptx-runestone-container .input-group .form-control,.runestone-sphinx .input-group .form-control{float:left;margin-bottom:0;position:relative;width:100%;z-index:2}.ptx-runestone-container .input-group .form-control:focus,.runestone-sphinx .input-group .form-control:focus{z-index:3}.ptx-runestone-container .input-group-lg>.form-control,.ptx-runestone-container .input-group-lg>.input-group-addon,.ptx-runestone-container .input-group-lg>.input-group-btn>.btn,.runestone-sphinx .input-group-lg>.form-control,.runestone-sphinx .input-group-lg>.input-group-addon,.runestone-sphinx .input-group-lg>.input-group-btn>.btn{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container select.input-group-lg>.form-control,.ptx-runestone-container select.input-group-lg>.input-group-addon,.ptx-runestone-container select.input-group-lg>.input-group-btn>.btn,.runestone-sphinx select.input-group-lg>.form-control,.runestone-sphinx select.input-group-lg>.input-group-addon,.runestone-sphinx select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.ptx-runestone-container select[multiple].input-group-lg>.form-control,.ptx-runestone-container select[multiple].input-group-lg>.input-group-addon,.ptx-runestone-container select[multiple].input-group-lg>.input-group-btn>.btn,.ptx-runestone-container textarea.input-group-lg>.form-control,.ptx-runestone-container textarea.input-group-lg>.input-group-addon,.ptx-runestone-container textarea.input-group-lg>.input-group-btn>.btn,.runestone-sphinx select[multiple].input-group-lg>.form-control,.runestone-sphinx select[multiple].input-group-lg>.input-group-addon,.runestone-sphinx select[multiple].input-group-lg>.input-group-btn>.btn,.runestone-sphinx textarea.input-group-lg>.form-control,.runestone-sphinx textarea.input-group-lg>.input-group-addon,.runestone-sphinx textarea.input-group-lg>.input-group-btn>.btn{height:auto}.ptx-runestone-container .input-group-sm>.form-control,.ptx-runestone-container .input-group-sm>.input-group-addon,.ptx-runestone-container .input-group-sm>.input-group-btn>.btn,.runestone-sphinx .input-group-sm>.form-control,.runestone-sphinx .input-group-sm>.input-group-addon,.runestone-sphinx .input-group-sm>.input-group-btn>.btn{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}.ptx-runestone-container select.input-group-sm>.form-control,.ptx-runestone-container select.input-group-sm>.input-group-addon,.ptx-runestone-container select.input-group-sm>.input-group-btn>.btn,.runestone-sphinx select.input-group-sm>.form-control,.runestone-sphinx select.input-group-sm>.input-group-addon,.runestone-sphinx select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.ptx-runestone-container select[multiple].input-group-sm>.form-control,.ptx-runestone-container select[multiple].input-group-sm>.input-group-addon,.ptx-runestone-container select[multiple].input-group-sm>.input-group-btn>.btn,.ptx-runestone-container textarea.input-group-sm>.form-control,.ptx-runestone-container textarea.input-group-sm>.input-group-addon,.ptx-runestone-container textarea.input-group-sm>.input-group-btn>.btn,.runestone-sphinx select[multiple].input-group-sm>.form-control,.runestone-sphinx select[multiple].input-group-sm>.input-group-addon,.runestone-sphinx select[multiple].input-group-sm>.input-group-btn>.btn,.runestone-sphinx textarea.input-group-sm>.form-control,.runestone-sphinx textarea.input-group-sm>.input-group-addon,.runestone-sphinx textarea.input-group-sm>.input-group-btn>.btn{height:auto}.ptx-runestone-container .input-group .form-control,.ptx-runestone-container .input-group-addon,.ptx-runestone-container .input-group-btn,.runestone-sphinx .input-group .form-control,.runestone-sphinx .input-group-addon,.runestone-sphinx .input-group-btn{display:table-cell}.ptx-runestone-container .input-group .form-control:not(:first-child):not(:last-child),.ptx-runestone-container .input-group-addon:not(:first-child):not(:last-child),.ptx-runestone-container .input-group-btn:not(:first-child):not(:last-child),.runestone-sphinx .input-group .form-control:not(:first-child):not(:last-child),.runestone-sphinx .input-group-addon:not(:first-child):not(:last-child),.runestone-sphinx .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.ptx-runestone-container .input-group-addon,.ptx-runestone-container .input-group-btn,.runestone-sphinx .input-group-addon,.runestone-sphinx .input-group-btn{vertical-align:middle;white-space:nowrap;width:1%}.ptx-runestone-container .input-group-addon,.runestone-sphinx .input-group-addon{background-color:#eee;border:1px solid #ccc;border-radius:4px;color:#555;font-size:14px;font-weight:400;line-height:1;padding:6px 12px;text-align:center}.ptx-runestone-container .input-group-addon.input-sm,.runestone-sphinx .input-group-addon.input-sm{border-radius:3px;font-size:12px;padding:5px 10px}.ptx-runestone-container .input-group-addon.input-lg,.runestone-sphinx .input-group-addon.input-lg{border-radius:6px;font-size:18px;padding:10px 16px}.ptx-runestone-container .input-group-addon input[type=checkbox],.ptx-runestone-container .input-group-addon input[type=radio],.runestone-sphinx .input-group-addon input[type=checkbox],.runestone-sphinx .input-group-addon input[type=radio]{margin-top:0}.ptx-runestone-container .input-group .form-control:first-child,.ptx-runestone-container .input-group-addon:first-child,.ptx-runestone-container .input-group-btn:first-child>.btn,.ptx-runestone-container .input-group-btn:first-child>.btn-group>.btn,.ptx-runestone-container .input-group-btn:first-child>.dropdown-toggle,.ptx-runestone-container .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.ptx-runestone-container .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.runestone-sphinx .input-group .form-control:first-child,.runestone-sphinx .input-group-addon:first-child,.runestone-sphinx .input-group-btn:first-child>.btn,.runestone-sphinx .input-group-btn:first-child>.btn-group>.btn,.runestone-sphinx .input-group-btn:first-child>.dropdown-toggle,.runestone-sphinx .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.runestone-sphinx .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.ptx-runestone-container .input-group-addon:first-child,.runestone-sphinx .input-group-addon:first-child{border-right:0}.ptx-runestone-container .input-group .form-control:last-child,.ptx-runestone-container .input-group-addon:last-child,.ptx-runestone-container .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.ptx-runestone-container .input-group-btn:first-child>.btn:not(:first-child),.ptx-runestone-container .input-group-btn:last-child>.btn,.ptx-runestone-container .input-group-btn:last-child>.btn-group>.btn,.ptx-runestone-container .input-group-btn:last-child>.dropdown-toggle,.runestone-sphinx .input-group .form-control:last-child,.runestone-sphinx .input-group-addon:last-child,.runestone-sphinx .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.runestone-sphinx .input-group-btn:first-child>.btn:not(:first-child),.runestone-sphinx .input-group-btn:last-child>.btn,.runestone-sphinx .input-group-btn:last-child>.btn-group>.btn,.runestone-sphinx .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.ptx-runestone-container .input-group-addon:last-child,.runestone-sphinx .input-group-addon:last-child{border-left:0}.ptx-runestone-container .input-group-btn,.runestone-sphinx .input-group-btn{font-size:0;position:relative;white-space:nowrap}.ptx-runestone-container .input-group-btn>.btn,.runestone-sphinx .input-group-btn>.btn{position:relative}.ptx-runestone-container .input-group-btn>.btn+.btn,.runestone-sphinx .input-group-btn>.btn+.btn{margin-left:-1px}.ptx-runestone-container .input-group-btn>.btn:active,.ptx-runestone-container .input-group-btn>.btn:focus,.ptx-runestone-container .input-group-btn>.btn:hover,.runestone-sphinx .input-group-btn>.btn:active,.runestone-sphinx .input-group-btn>.btn:focus,.runestone-sphinx .input-group-btn>.btn:hover{z-index:2}.ptx-runestone-container .input-group-btn:first-child>.btn,.ptx-runestone-container .input-group-btn:first-child>.btn-group,.runestone-sphinx .input-group-btn:first-child>.btn,.runestone-sphinx .input-group-btn:first-child>.btn-group{margin-right:-1px}.ptx-runestone-container .input-group-btn:last-child>.btn,.ptx-runestone-container .input-group-btn:last-child>.btn-group,.runestone-sphinx .input-group-btn:last-child>.btn,.runestone-sphinx .input-group-btn:last-child>.btn-group{margin-left:-1px;z-index:2}.ptx-runestone-container .nav,.runestone-sphinx .nav{list-style:none;margin-bottom:0;padding-left:0}.ptx-runestone-container .nav>li,.runestone-sphinx .nav>li{display:block;position:relative}.ptx-runestone-container .nav>li>a,.runestone-sphinx .nav>li>a{display:block;padding:10px 15px;position:relative}.ptx-runestone-container .nav>li>a:focus,.ptx-runestone-container .nav>li>a:hover,.runestone-sphinx .nav>li>a:focus,.runestone-sphinx .nav>li>a:hover{background-color:#eee;text-decoration:none}.ptx-runestone-container .nav>li.disabled>a,.runestone-sphinx .nav>li.disabled>a{color:#777}.ptx-runestone-container .nav>li.disabled>a:focus,.ptx-runestone-container .nav>li.disabled>a:hover,.runestone-sphinx .nav>li.disabled>a:focus,.runestone-sphinx .nav>li.disabled>a:hover{background-color:transparent;color:#777;cursor:not-allowed;text-decoration:none}.ptx-runestone-container .nav .open>a,.ptx-runestone-container .nav .open>a:focus,.ptx-runestone-container .nav .open>a:hover,.runestone-sphinx .nav .open>a,.runestone-sphinx .nav .open>a:focus,.runestone-sphinx .nav .open>a:hover{background-color:#eee;border-color:#337ab7}.ptx-runestone-container .nav .nav-divider,.runestone-sphinx .nav .nav-divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.ptx-runestone-container .nav>li>a>img,.runestone-sphinx .nav>li>a>img{max-width:none}.ptx-runestone-container .nav-tabs,.runestone-sphinx .nav-tabs{border-bottom:1px solid #ddd}.ptx-runestone-container .nav-tabs>li,.runestone-sphinx .nav-tabs>li{float:left;margin-bottom:-1px}.ptx-runestone-container .nav-tabs>li>a,.runestone-sphinx .nav-tabs>li>a{border:1px solid transparent;border-radius:4px 4px 0 0;line-height:1.42857143;margin-right:2px}.ptx-runestone-container .nav-tabs>li>a:hover,.runestone-sphinx .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.ptx-runestone-container .nav-tabs>li.active>a,.ptx-runestone-container .nav-tabs>li.active>a:focus,.ptx-runestone-container .nav-tabs>li.active>a:hover,.runestone-sphinx .nav-tabs>li.active>a,.runestone-sphinx .nav-tabs>li.active>a:focus,.runestone-sphinx .nav-tabs>li.active>a:hover{background-color:#fff;border:1px solid;border-color:#ddd #ddd transparent;color:#555;cursor:default}.ptx-runestone-container .nav-tabs.nav-justified,.runestone-sphinx .nav-tabs.nav-justified{border-bottom:0;width:100%}.ptx-runestone-container .nav-tabs.nav-justified>li,.runestone-sphinx .nav-tabs.nav-justified>li{float:none}.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.ptx-runestone-container .nav-tabs.nav-justified>.dropdown .dropdown-menu,.runestone-sphinx .nav-tabs.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.ptx-runestone-container .nav-tabs.nav-justified>li,.runestone-sphinx .nav-tabs.nav-justified>li{display:table-cell;width:1%}.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{margin-bottom:0}}.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{border-radius:4px;margin-right:0}.ptx-runestone-container .nav-tabs.nav-justified>.active>a,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:focus,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:hover,.runestone-sphinx .nav-tabs.nav-justified>.active>a,.runestone-sphinx .nav-tabs.nav-justified>.active>a:focus,.runestone-sphinx .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.ptx-runestone-container .nav-tabs.nav-justified>.active>a,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:focus,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:hover,.runestone-sphinx .nav-tabs.nav-justified>.active>a,.runestone-sphinx .nav-tabs.nav-justified>.active>a:focus,.runestone-sphinx .nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.ptx-runestone-container .nav-pills>li,.runestone-sphinx .nav-pills>li{float:left}.ptx-runestone-container .nav-pills>li>a,.runestone-sphinx .nav-pills>li>a{border-radius:4px}.ptx-runestone-container .nav-pills>li+li,.runestone-sphinx .nav-pills>li+li{margin-left:2px}.ptx-runestone-container .nav-pills>li.active>a,.ptx-runestone-container .nav-pills>li.active>a:focus,.ptx-runestone-container .nav-pills>li.active>a:hover,.runestone-sphinx .nav-pills>li.active>a,.runestone-sphinx .nav-pills>li.active>a:focus,.runestone-sphinx .nav-pills>li.active>a:hover{background-color:#337ab7;color:#fff}.ptx-runestone-container .nav-stacked>li,.runestone-sphinx .nav-stacked>li{float:none}.ptx-runestone-container .nav-stacked>li+li,.runestone-sphinx .nav-stacked>li+li{margin-left:0;margin-top:2px}.ptx-runestone-container .nav-justified,.runestone-sphinx .nav-justified{width:100%}.ptx-runestone-container .nav-justified>li,.runestone-sphinx .nav-justified>li{float:none}.ptx-runestone-container .nav-justified>li>a,.runestone-sphinx .nav-justified>li>a{margin-bottom:5px;text-align:center}.ptx-runestone-container .nav-justified>.dropdown .dropdown-menu,.runestone-sphinx .nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.ptx-runestone-container .nav-justified>li,.runestone-sphinx .nav-justified>li{display:table-cell;width:1%}.ptx-runestone-container .nav-justified>li>a,.runestone-sphinx .nav-justified>li>a{margin-bottom:0}}.ptx-runestone-container .nav-tabs-justified,.runestone-sphinx .nav-tabs-justified{border-bottom:0}.ptx-runestone-container .nav-tabs-justified>li>a,.runestone-sphinx .nav-tabs-justified>li>a{border-radius:4px;margin-right:0}.ptx-runestone-container .nav-tabs-justified>.active>a,.ptx-runestone-container .nav-tabs-justified>.active>a:focus,.ptx-runestone-container .nav-tabs-justified>.active>a:hover,.runestone-sphinx .nav-tabs-justified>.active>a,.runestone-sphinx .nav-tabs-justified>.active>a:focus,.runestone-sphinx .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.ptx-runestone-container .nav-tabs-justified>li>a,.runestone-sphinx .nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.ptx-runestone-container .nav-tabs-justified>.active>a,.ptx-runestone-container .nav-tabs-justified>.active>a:focus,.ptx-runestone-container .nav-tabs-justified>.active>a:hover,.runestone-sphinx .nav-tabs-justified>.active>a,.runestone-sphinx .nav-tabs-justified>.active>a:focus,.runestone-sphinx .nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.ptx-runestone-container .tab-content>.tab-pane,.runestone-sphinx .tab-content>.tab-pane{display:none}.ptx-runestone-container .tab-content>.active,.runestone-sphinx .tab-content>.active{display:block}.ptx-runestone-container .nav-tabs .dropdown-menu,.runestone-sphinx .nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.ptx-runestone-container .navbar,.runestone-sphinx .navbar{border:1px solid transparent;margin-bottom:20px;min-height:50px;position:relative}@media (min-width:768px){.ptx-runestone-container .navbar,.runestone-sphinx .navbar{border-radius:4px}.ptx-runestone-container .navbar-header,.runestone-sphinx .navbar-header{float:left}}.ptx-runestone-container .navbar-collapse,.runestone-sphinx .navbar-collapse{-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);overflow-x:visible;padding-left:15px;padding-right:15px}.ptx-runestone-container .navbar-collapse.in,.runestone-sphinx .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.ptx-runestone-container .navbar-collapse,.runestone-sphinx .navbar-collapse{border-top:0;-webkit-box-shadow:none;box-shadow:none;width:auto}.ptx-runestone-container .navbar-collapse.collapse,.runestone-sphinx .navbar-collapse.collapse{display:block!important;height:auto!important;overflow:visible!important;padding-bottom:0}.ptx-runestone-container .navbar-collapse.in,.runestone-sphinx .navbar-collapse.in{overflow-y:visible}.ptx-runestone-container .navbar-fixed-bottom .navbar-collapse,.ptx-runestone-container .navbar-fixed-top .navbar-collapse,.ptx-runestone-container .navbar-static-top .navbar-collapse,.runestone-sphinx .navbar-fixed-bottom .navbar-collapse,.runestone-sphinx .navbar-fixed-top .navbar-collapse,.runestone-sphinx .navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.ptx-runestone-container .navbar-fixed-bottom,.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-bottom,.runestone-sphinx .navbar-fixed-top{left:0;position:fixed;right:0;z-index:1030}.ptx-runestone-container .navbar-fixed-bottom .navbar-collapse,.ptx-runestone-container .navbar-fixed-top .navbar-collapse,.runestone-sphinx .navbar-fixed-bottom .navbar-collapse,.runestone-sphinx .navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.ptx-runestone-container .navbar-fixed-bottom .navbar-collapse,.ptx-runestone-container .navbar-fixed-top .navbar-collapse,.runestone-sphinx .navbar-fixed-bottom .navbar-collapse,.runestone-sphinx .navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.ptx-runestone-container .navbar-fixed-bottom,.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-bottom,.runestone-sphinx .navbar-fixed-top{border-radius:0}}.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-top{border-width:0 0 1px;top:0}.ptx-runestone-container .navbar-fixed-bottom,.runestone-sphinx .navbar-fixed-bottom{border-width:1px 0 0;bottom:0;margin-bottom:0}.ptx-runestone-container .container-fluid>.navbar-collapse,.ptx-runestone-container .container-fluid>.navbar-header,.ptx-runestone-container .container>.navbar-collapse,.ptx-runestone-container .container>.navbar-header,.runestone-sphinx .container-fluid>.navbar-collapse,.runestone-sphinx .container-fluid>.navbar-header,.runestone-sphinx .container>.navbar-collapse,.runestone-sphinx .container>.navbar-header{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.ptx-runestone-container .container-fluid>.navbar-collapse,.ptx-runestone-container .container-fluid>.navbar-header,.ptx-runestone-container .container>.navbar-collapse,.ptx-runestone-container .container>.navbar-header,.runestone-sphinx .container-fluid>.navbar-collapse,.runestone-sphinx .container-fluid>.navbar-header,.runestone-sphinx .container>.navbar-collapse,.runestone-sphinx .container>.navbar-header{margin-left:0;margin-right:0}}.ptx-runestone-container .navbar-static-top,.runestone-sphinx .navbar-static-top{border-width:0 0 1px;z-index:1000}@media (min-width:768px){.ptx-runestone-container .navbar-static-top,.runestone-sphinx .navbar-static-top{border-radius:0}}.ptx-runestone-container .navbar-brand,.runestone-sphinx .navbar-brand{float:left;font-size:18px;height:50px;line-height:20px;padding:15px}.ptx-runestone-container .navbar-brand:focus,.ptx-runestone-container .navbar-brand:hover,.runestone-sphinx .navbar-brand:focus,.runestone-sphinx .navbar-brand:hover{text-decoration:none}.ptx-runestone-container .navbar-brand>img,.runestone-sphinx .navbar-brand>img{display:block}@media (min-width:768px){.ptx-runestone-container .navbar>.container .navbar-brand,.ptx-runestone-container .navbar>.container-fluid .navbar-brand,.runestone-sphinx .navbar>.container .navbar-brand,.runestone-sphinx .navbar>.container-fluid .navbar-brand{margin-left:-15px}}.ptx-runestone-container .navbar-toggle,.runestone-sphinx .navbar-toggle{background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px;float:right;margin-bottom:8px;margin-right:15px;margin-top:8px;padding:9px 10px;position:relative}.ptx-runestone-container .navbar-toggle:focus,.runestone-sphinx .navbar-toggle:focus{outline:0}.ptx-runestone-container .navbar-toggle .icon-bar,.runestone-sphinx .navbar-toggle .icon-bar{border-radius:1px;display:block;height:2px;width:22px}.ptx-runestone-container .navbar-toggle .icon-bar+.icon-bar,.runestone-sphinx .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.ptx-runestone-container .navbar-toggle,.runestone-sphinx .navbar-toggle{display:none}}.ptx-runestone-container .navbar-nav,.runestone-sphinx .navbar-nav{margin:7.5px -15px}.ptx-runestone-container .navbar-nav>li>a,.runestone-sphinx .navbar-nav>li>a{line-height:20px;padding-bottom:10px;padding-top:10px}@media (max-width:767px){.ptx-runestone-container .navbar-nav .open .dropdown-menu,.runestone-sphinx .navbar-nav .open .dropdown-menu{background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.ptx-runestone-container .navbar-nav .open .dropdown-menu .dropdown-header,.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-nav .open .dropdown-menu .dropdown-header,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a{line-height:20px}.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a:focus,.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a:hover,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a:focus,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.ptx-runestone-container .navbar-nav,.runestone-sphinx .navbar-nav{float:left;margin:0}.ptx-runestone-container .navbar-nav>li,.runestone-sphinx .navbar-nav>li{float:left}.ptx-runestone-container .navbar-nav>li>a,.runestone-sphinx .navbar-nav>li>a{padding-bottom:15px;padding-top:15px}}.ptx-runestone-container .navbar-form,.runestone-sphinx .navbar-form{border-bottom:1px solid transparent;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);margin:8px -15px;padding:10px 15px}@media (min-width:768px){.ptx-runestone-container .navbar-form .form-group,.runestone-sphinx .navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.ptx-runestone-container .navbar-form .form-control,.runestone-sphinx .navbar-form .form-control{display:inline-block;vertical-align:middle;width:auto}.ptx-runestone-container .navbar-form .form-control-static,.runestone-sphinx .navbar-form .form-control-static{display:inline-block}.ptx-runestone-container .navbar-form .input-group,.runestone-sphinx .navbar-form .input-group{display:inline-table;vertical-align:middle}.ptx-runestone-container .navbar-form .input-group .form-control,.ptx-runestone-container .navbar-form .input-group .input-group-addon,.ptx-runestone-container .navbar-form .input-group .input-group-btn,.runestone-sphinx .navbar-form .input-group .form-control,.runestone-sphinx .navbar-form .input-group .input-group-addon,.runestone-sphinx .navbar-form .input-group .input-group-btn{width:auto}.ptx-runestone-container .navbar-form .input-group>.form-control,.runestone-sphinx .navbar-form .input-group>.form-control{width:100%}.ptx-runestone-container .navbar-form .control-label,.runestone-sphinx .navbar-form .control-label{margin-bottom:0;vertical-align:middle}.ptx-runestone-container .navbar-form .checkbox,.ptx-runestone-container .navbar-form .radio,.runestone-sphinx .navbar-form .checkbox,.runestone-sphinx .navbar-form .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.ptx-runestone-container .navbar-form .checkbox label,.ptx-runestone-container .navbar-form .radio label,.runestone-sphinx .navbar-form .checkbox label,.runestone-sphinx .navbar-form .radio label{padding-left:0}.ptx-runestone-container .navbar-form .checkbox input[type=checkbox],.ptx-runestone-container .navbar-form .radio input[type=radio],.runestone-sphinx .navbar-form .checkbox input[type=checkbox],.runestone-sphinx .navbar-form .radio input[type=radio]{margin-left:0;position:relative}.ptx-runestone-container .navbar-form .has-feedback .form-control-feedback,.runestone-sphinx .navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.ptx-runestone-container .navbar-form .form-group,.runestone-sphinx .navbar-form .form-group{margin-bottom:5px}.ptx-runestone-container .navbar-form .form-group:last-child,.runestone-sphinx .navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.ptx-runestone-container .navbar-form,.runestone-sphinx .navbar-form{border:0;-webkit-box-shadow:none;box-shadow:none;margin-left:0;margin-right:0;padding-bottom:0;padding-top:0;width:auto}}.ptx-runestone-container .navbar-nav>li>.dropdown-menu,.runestone-sphinx .navbar-nav>li>.dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.ptx-runestone-container .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu,.runestone-sphinx .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;margin-bottom:0}.ptx-runestone-container .navbar-btn,.runestone-sphinx .navbar-btn{margin-bottom:8px;margin-top:8px}.ptx-runestone-container .navbar-btn.btn-sm,.runestone-sphinx .navbar-btn.btn-sm{margin-bottom:10px;margin-top:10px}.ptx-runestone-container .navbar-btn.btn-xs,.runestone-sphinx .navbar-btn.btn-xs{margin-bottom:14px;margin-top:14px}.ptx-runestone-container .navbar-text,.runestone-sphinx .navbar-text{margin-bottom:15px;margin-top:15px}@media (min-width:768px){.ptx-runestone-container .navbar-text,.runestone-sphinx .navbar-text{float:left;margin-left:15px;margin-right:15px}.ptx-runestone-container .navbar-left,.runestone-sphinx .navbar-left{float:left!important}.ptx-runestone-container .navbar-right,.runestone-sphinx .navbar-right{float:right!important;margin-right:-15px}.ptx-runestone-container .navbar-right~.navbar-right,.runestone-sphinx .navbar-right~.navbar-right{margin-right:0}}.ptx-runestone-container .navbar-default,.runestone-sphinx .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.ptx-runestone-container .navbar-default .navbar-brand,.runestone-sphinx .navbar-default .navbar-brand{color:#777}.ptx-runestone-container .navbar-default .navbar-brand:focus,.ptx-runestone-container .navbar-default .navbar-brand:hover,.runestone-sphinx .navbar-default .navbar-brand:focus,.runestone-sphinx .navbar-default .navbar-brand:hover{background-color:transparent;color:#5e5e5e}.ptx-runestone-container .navbar-default .navbar-nav>li>a,.ptx-runestone-container .navbar-default .navbar-text,.runestone-sphinx .navbar-default .navbar-nav>li>a,.runestone-sphinx .navbar-default .navbar-text{color:#777}.ptx-runestone-container .navbar-default .navbar-nav>li>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>li>a:hover,.runestone-sphinx .navbar-default .navbar-nav>li>a:focus,.runestone-sphinx .navbar-default .navbar-nav>li>a:hover{background-color:transparent;color:#333}.ptx-runestone-container .navbar-default .navbar-nav>.active>a,.ptx-runestone-container .navbar-default .navbar-nav>.active>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>.active>a:hover,.runestone-sphinx .navbar-default .navbar-nav>.active>a,.runestone-sphinx .navbar-default .navbar-nav>.active>a:focus,.runestone-sphinx .navbar-default .navbar-nav>.active>a:hover{background-color:#e7e7e7;color:#555}.ptx-runestone-container .navbar-default .navbar-nav>.disabled>a,.ptx-runestone-container .navbar-default .navbar-nav>.disabled>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>.disabled>a:hover,.runestone-sphinx .navbar-default .navbar-nav>.disabled>a,.runestone-sphinx .navbar-default .navbar-nav>.disabled>a:focus,.runestone-sphinx .navbar-default .navbar-nav>.disabled>a:hover{background-color:transparent;color:#ccc}.ptx-runestone-container .navbar-default .navbar-nav>.open>a,.ptx-runestone-container .navbar-default .navbar-nav>.open>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>.open>a:hover,.runestone-sphinx .navbar-default .navbar-nav>.open>a,.runestone-sphinx .navbar-default .navbar-nav>.open>a:focus,.runestone-sphinx .navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:767px){.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{background-color:transparent;color:#333}.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#e7e7e7;color:#555}.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:transparent;color:#ccc}}.ptx-runestone-container .navbar-default .navbar-toggle,.runestone-sphinx .navbar-default .navbar-toggle{border-color:#ddd}.ptx-runestone-container .navbar-default .navbar-toggle:focus,.ptx-runestone-container .navbar-default .navbar-toggle:hover,.runestone-sphinx .navbar-default .navbar-toggle:focus,.runestone-sphinx .navbar-default .navbar-toggle:hover{background-color:#ddd}.ptx-runestone-container .navbar-default .navbar-toggle .icon-bar,.runestone-sphinx .navbar-default .navbar-toggle .icon-bar{background-color:#888}.ptx-runestone-container .navbar-default .navbar-collapse,.ptx-runestone-container .navbar-default .navbar-form,.runestone-sphinx .navbar-default .navbar-collapse,.runestone-sphinx .navbar-default .navbar-form{border-color:#e7e7e7}.ptx-runestone-container .navbar-default .navbar-link,.runestone-sphinx .navbar-default .navbar-link{color:#777}.ptx-runestone-container .navbar-default .navbar-link:hover,.runestone-sphinx .navbar-default .navbar-link:hover{color:#333}.ptx-runestone-container .navbar-default .btn-link,.runestone-sphinx .navbar-default .btn-link{color:#777}.ptx-runestone-container .navbar-default .btn-link:focus,.ptx-runestone-container .navbar-default .btn-link:hover,.runestone-sphinx .navbar-default .btn-link:focus,.runestone-sphinx .navbar-default .btn-link:hover{color:#333}.ptx-runestone-container .navbar-default .btn-link[disabled]:focus,.ptx-runestone-container .navbar-default .btn-link[disabled]:hover,.ptx-runestone-container fieldset[disabled] .navbar-default .btn-link:focus,.ptx-runestone-container fieldset[disabled] .navbar-default .btn-link:hover,.runestone-sphinx .navbar-default .btn-link[disabled]:focus,.runestone-sphinx .navbar-default .btn-link[disabled]:hover,.runestone-sphinx fieldset[disabled] .navbar-default .btn-link:focus,.runestone-sphinx fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.ptx-runestone-container .navbar-inverse,.runestone-sphinx .navbar-inverse{background-color:#222;border-color:#080808}.ptx-runestone-container .navbar-inverse .navbar-brand,.runestone-sphinx .navbar-inverse .navbar-brand{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-brand:focus,.ptx-runestone-container .navbar-inverse .navbar-brand:hover,.runestone-sphinx .navbar-inverse .navbar-brand:focus,.runestone-sphinx .navbar-inverse .navbar-brand:hover{background-color:transparent;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav>li>a,.ptx-runestone-container .navbar-inverse .navbar-text,.runestone-sphinx .navbar-inverse .navbar-nav>li>a,.runestone-sphinx .navbar-inverse .navbar-text{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-nav>li>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>li>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>li>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>li>a:hover{background-color:transparent;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav>.active>a,.ptx-runestone-container .navbar-inverse .navbar-nav>.active>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>.active>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>.active>a,.runestone-sphinx .navbar-inverse .navbar-nav>.active>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>.active>a:hover{background-color:#080808;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav>.disabled>a,.ptx-runestone-container .navbar-inverse .navbar-nav>.disabled>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>.disabled>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>.disabled>a,.runestone-sphinx .navbar-inverse .navbar-nav>.disabled>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>.disabled>a:hover{background-color:transparent;color:#444}.ptx-runestone-container .navbar-inverse .navbar-nav>.open>a,.ptx-runestone-container .navbar-inverse .navbar-nav>.open>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>.open>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>.open>a,.runestone-sphinx .navbar-inverse .navbar-nav>.open>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:767px){.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu .divider,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:transparent;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#080808;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:transparent;color:#444}}.ptx-runestone-container .navbar-inverse .navbar-toggle,.runestone-sphinx .navbar-inverse .navbar-toggle{border-color:#333}.ptx-runestone-container .navbar-inverse .navbar-toggle:focus,.ptx-runestone-container .navbar-inverse .navbar-toggle:hover,.runestone-sphinx .navbar-inverse .navbar-toggle:focus,.runestone-sphinx .navbar-inverse .navbar-toggle:hover{background-color:#333}.ptx-runestone-container .navbar-inverse .navbar-toggle .icon-bar,.runestone-sphinx .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.ptx-runestone-container .navbar-inverse .navbar-collapse,.ptx-runestone-container .navbar-inverse .navbar-form,.runestone-sphinx .navbar-inverse .navbar-collapse,.runestone-sphinx .navbar-inverse .navbar-form{border-color:#101010}.ptx-runestone-container .navbar-inverse .navbar-link,.runestone-sphinx .navbar-inverse .navbar-link{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-link:hover,.runestone-sphinx .navbar-inverse .navbar-link:hover{color:#fff}.ptx-runestone-container .navbar-inverse .btn-link,.runestone-sphinx .navbar-inverse .btn-link{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .btn-link:focus,.ptx-runestone-container .navbar-inverse .btn-link:hover,.runestone-sphinx .navbar-inverse .btn-link:focus,.runestone-sphinx .navbar-inverse .btn-link:hover{color:#fff}.ptx-runestone-container .navbar-inverse .btn-link[disabled]:focus,.ptx-runestone-container .navbar-inverse .btn-link[disabled]:hover,.ptx-runestone-container fieldset[disabled] .navbar-inverse .btn-link:focus,.ptx-runestone-container fieldset[disabled] .navbar-inverse .btn-link:hover,.runestone-sphinx .navbar-inverse .btn-link[disabled]:focus,.runestone-sphinx .navbar-inverse .btn-link[disabled]:hover,.runestone-sphinx fieldset[disabled] .navbar-inverse .btn-link:focus,.runestone-sphinx fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.ptx-runestone-container .breadcrumb,.runestone-sphinx .breadcrumb{background-color:#f5f5f5;border-radius:4px;list-style:none;margin-bottom:20px;padding:8px 15px}.ptx-runestone-container .breadcrumb>li,.runestone-sphinx .breadcrumb>li{display:inline-block}.ptx-runestone-container .breadcrumb>li+li:before,.runestone-sphinx .breadcrumb>li+li:before{color:#ccc;content:"/\00a0";padding:0 5px}.ptx-runestone-container .breadcrumb>.active,.runestone-sphinx .breadcrumb>.active{color:#777}.ptx-runestone-container .pagination,.runestone-sphinx .pagination{border-radius:4px;display:inline-block;margin:20px 0;padding-left:0}.ptx-runestone-container .pagination>li,.runestone-sphinx .pagination>li{display:inline}.ptx-runestone-container .pagination>li>a,.ptx-runestone-container .pagination>li>span,.runestone-sphinx .pagination>li>a,.runestone-sphinx .pagination>li>span{background-color:#fff;border:1px solid #ddd;color:#337ab7;float:left;line-height:1.42857143;margin-left:-1px;padding:6px 12px;position:relative;text-decoration:none}.ptx-runestone-container .pagination>li>a:focus,.ptx-runestone-container .pagination>li>a:hover,.ptx-runestone-container .pagination>li>span:focus,.ptx-runestone-container .pagination>li>span:hover,.runestone-sphinx .pagination>li>a:focus,.runestone-sphinx .pagination>li>a:hover,.runestone-sphinx .pagination>li>span:focus,.runestone-sphinx .pagination>li>span:hover{background-color:#eee;border-color:#ddd;color:#23527c;z-index:2}.ptx-runestone-container .pagination>li:first-child>a,.ptx-runestone-container .pagination>li:first-child>span,.runestone-sphinx .pagination>li:first-child>a,.runestone-sphinx .pagination>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px;margin-left:0}.ptx-runestone-container .pagination>li:last-child>a,.ptx-runestone-container .pagination>li:last-child>span,.runestone-sphinx .pagination>li:last-child>a,.runestone-sphinx .pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.ptx-runestone-container .pagination>.active>a,.ptx-runestone-container .pagination>.active>a:focus,.ptx-runestone-container .pagination>.active>a:hover,.ptx-runestone-container .pagination>.active>span,.ptx-runestone-container .pagination>.active>span:focus,.ptx-runestone-container .pagination>.active>span:hover,.runestone-sphinx .pagination>.active>a,.runestone-sphinx .pagination>.active>a:focus,.runestone-sphinx .pagination>.active>a:hover,.runestone-sphinx .pagination>.active>span,.runestone-sphinx .pagination>.active>span:focus,.runestone-sphinx .pagination>.active>span:hover{background-color:#337ab7;border-color:#337ab7;color:#fff;cursor:default;z-index:3}.ptx-runestone-container .pagination>.disabled>a,.ptx-runestone-container .pagination>.disabled>a:focus,.ptx-runestone-container .pagination>.disabled>a:hover,.ptx-runestone-container .pagination>.disabled>span,.ptx-runestone-container .pagination>.disabled>span:focus,.ptx-runestone-container .pagination>.disabled>span:hover,.runestone-sphinx .pagination>.disabled>a,.runestone-sphinx .pagination>.disabled>a:focus,.runestone-sphinx .pagination>.disabled>a:hover,.runestone-sphinx .pagination>.disabled>span,.runestone-sphinx .pagination>.disabled>span:focus,.runestone-sphinx .pagination>.disabled>span:hover{background-color:#fff;border-color:#ddd;color:#777;cursor:not-allowed}.ptx-runestone-container .pagination-lg>li>a,.ptx-runestone-container .pagination-lg>li>span,.runestone-sphinx .pagination-lg>li>a,.runestone-sphinx .pagination-lg>li>span{font-size:18px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container .pagination-lg>li:first-child>a,.ptx-runestone-container .pagination-lg>li:first-child>span,.runestone-sphinx .pagination-lg>li:first-child>a,.runestone-sphinx .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.ptx-runestone-container .pagination-lg>li:last-child>a,.ptx-runestone-container .pagination-lg>li:last-child>span,.runestone-sphinx .pagination-lg>li:last-child>a,.runestone-sphinx .pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.ptx-runestone-container .pagination-sm>li>a,.ptx-runestone-container .pagination-sm>li>span,.runestone-sphinx .pagination-sm>li>a,.runestone-sphinx .pagination-sm>li>span{font-size:12px;line-height:1.5;padding:5px 10px}.ptx-runestone-container .pagination-sm>li:first-child>a,.ptx-runestone-container .pagination-sm>li:first-child>span,.runestone-sphinx .pagination-sm>li:first-child>a,.runestone-sphinx .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.ptx-runestone-container .pagination-sm>li:last-child>a,.ptx-runestone-container .pagination-sm>li:last-child>span,.runestone-sphinx .pagination-sm>li:last-child>a,.runestone-sphinx .pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.ptx-runestone-container .pager,.runestone-sphinx .pager{list-style:none;margin:20px 0;padding-left:0;text-align:center}.ptx-runestone-container .pager li,.runestone-sphinx .pager li{display:inline}.ptx-runestone-container .pager li>a,.ptx-runestone-container .pager li>span,.runestone-sphinx .pager li>a,.runestone-sphinx .pager li>span{background-color:#fff;border:1px solid #ddd;border-radius:15px;display:inline-block;padding:5px 14px}.ptx-runestone-container .pager li>a:focus,.ptx-runestone-container .pager li>a:hover,.runestone-sphinx .pager li>a:focus,.runestone-sphinx .pager li>a:hover{background-color:#eee;text-decoration:none}.ptx-runestone-container .pager .next>a,.ptx-runestone-container .pager .next>span,.runestone-sphinx .pager .next>a,.runestone-sphinx .pager .next>span{float:right}.ptx-runestone-container .pager .previous>a,.ptx-runestone-container .pager .previous>span,.runestone-sphinx .pager .previous>a,.runestone-sphinx .pager .previous>span{float:left}.ptx-runestone-container .pager .disabled>a,.ptx-runestone-container .pager .disabled>a:focus,.ptx-runestone-container .pager .disabled>a:hover,.ptx-runestone-container .pager .disabled>span,.runestone-sphinx .pager .disabled>a,.runestone-sphinx .pager .disabled>a:focus,.runestone-sphinx .pager .disabled>a:hover,.runestone-sphinx .pager .disabled>span{background-color:#fff;color:#777;cursor:not-allowed}.ptx-runestone-container .label,.runestone-sphinx .label{border-radius:.25em;color:#fff;display:inline;font-size:75%;font-weight:700;line-height:1;padding:.2em .6em .3em;text-align:center;vertical-align:baseline;white-space:nowrap}.ptx-runestone-container a.label:focus,.ptx-runestone-container a.label:hover,.runestone-sphinx a.label:focus,.runestone-sphinx a.label:hover{color:#fff;cursor:pointer;text-decoration:none}.ptx-runestone-container .label:empty,.runestone-sphinx .label:empty{display:none}.ptx-runestone-container .btn .label,.runestone-sphinx .btn .label{position:relative;top:-1px}.ptx-runestone-container .label-default,.runestone-sphinx .label-default{background-color:#777}.ptx-runestone-container .label-default[href]:focus,.ptx-runestone-container .label-default[href]:hover,.runestone-sphinx .label-default[href]:focus,.runestone-sphinx .label-default[href]:hover{background-color:#5e5e5e}.ptx-runestone-container .label-primary,.runestone-sphinx .label-primary{background-color:#337ab7}.ptx-runestone-container .label-primary[href]:focus,.ptx-runestone-container .label-primary[href]:hover,.runestone-sphinx .label-primary[href]:focus,.runestone-sphinx .label-primary[href]:hover{background-color:#286090}.ptx-runestone-container .label-success,.runestone-sphinx .label-success{background-color:#5cb85c}.ptx-runestone-container .label-success[href]:focus,.ptx-runestone-container .label-success[href]:hover,.runestone-sphinx .label-success[href]:focus,.runestone-sphinx .label-success[href]:hover{background-color:#449d44}.ptx-runestone-container .label-info,.runestone-sphinx .label-info{background-color:#5bc0de}.ptx-runestone-container .label-info[href]:focus,.ptx-runestone-container .label-info[href]:hover,.runestone-sphinx .label-info[href]:focus,.runestone-sphinx .label-info[href]:hover{background-color:#31b0d5}.ptx-runestone-container .label-warning,.runestone-sphinx .label-warning{background-color:#f0ad4e}.ptx-runestone-container .label-warning[href]:focus,.ptx-runestone-container .label-warning[href]:hover,.runestone-sphinx .label-warning[href]:focus,.runestone-sphinx .label-warning[href]:hover{background-color:#ec971f}.ptx-runestone-container .label-danger,.runestone-sphinx .label-danger{background-color:#d9534f}.ptx-runestone-container .label-danger[href]:focus,.ptx-runestone-container .label-danger[href]:hover,.runestone-sphinx .label-danger[href]:focus,.runestone-sphinx .label-danger[href]:hover{background-color:#c9302c}.ptx-runestone-container .badge,.runestone-sphinx .badge{background-color:#777;border-radius:10px;color:#fff;display:inline-block;font-size:12px;font-weight:700;line-height:1;min-width:10px;padding:3px 7px;text-align:center;vertical-align:middle;white-space:nowrap}.ptx-runestone-container .badge:empty,.runestone-sphinx .badge:empty{display:none}.ptx-runestone-container .btn .badge,.runestone-sphinx .btn .badge{position:relative;top:-1px}.ptx-runestone-container .btn-group-xs>.btn .badge,.ptx-runestone-container .btn-xs .badge,.runestone-sphinx .btn-group-xs>.btn .badge,.runestone-sphinx .btn-xs .badge{padding:1px 5px;top:0}.ptx-runestone-container a.badge:focus,.ptx-runestone-container a.badge:hover,.runestone-sphinx a.badge:focus,.runestone-sphinx a.badge:hover{color:#fff;cursor:pointer;text-decoration:none}.ptx-runestone-container .list-group-item.active>.badge,.ptx-runestone-container .nav-pills>.active>a>.badge,.runestone-sphinx .list-group-item.active>.badge,.runestone-sphinx .nav-pills>.active>a>.badge{background-color:#fff;color:#337ab7}.ptx-runestone-container .list-group-item>.badge,.runestone-sphinx .list-group-item>.badge{float:right}.ptx-runestone-container .list-group-item>.badge+.badge,.runestone-sphinx .list-group-item>.badge+.badge{margin-right:5px}.ptx-runestone-container .nav-pills>li>a>.badge,.runestone-sphinx .nav-pills>li>a>.badge{margin-left:3px}.ptx-runestone-container .jumbotron,.runestone-sphinx .jumbotron{background-color:#eee;color:inherit;margin-bottom:30px;padding-bottom:30px;padding-top:30px}.ptx-runestone-container .jumbotron .h1,.ptx-runestone-container .jumbotron h1,.runestone-sphinx .jumbotron .h1,.runestone-sphinx .jumbotron h1{color:inherit}.ptx-runestone-container .jumbotron p,.runestone-sphinx .jumbotron p{font-size:21px;font-weight:200;margin-bottom:15px}.ptx-runestone-container .jumbotron>hr,.runestone-sphinx .jumbotron>hr{border-top-color:#d5d5d5}.ptx-runestone-container .container .jumbotron,.ptx-runestone-container .container-fluid .jumbotron,.runestone-sphinx .container .jumbotron,.runestone-sphinx .container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.ptx-runestone-container .jumbotron .container,.runestone-sphinx .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.ptx-runestone-container .jumbotron,.runestone-sphinx .jumbotron{padding-bottom:48px;padding-top:48px}.ptx-runestone-container .container .jumbotron,.ptx-runestone-container .container-fluid .jumbotron,.runestone-sphinx .container .jumbotron,.runestone-sphinx .container-fluid .jumbotron{padding-left:60px;padding-right:60px}.ptx-runestone-container .jumbotron .h1,.ptx-runestone-container .jumbotron h1,.runestone-sphinx .jumbotron .h1,.runestone-sphinx .jumbotron h1{font-size:63px}}.ptx-runestone-container .thumbnail,.runestone-sphinx .thumbnail{background-color:#fff;border:1px solid #ddd;border-radius:4px;display:block;line-height:1.42857143;margin-bottom:20px;padding:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.ptx-runestone-container .thumbnail a>img,.ptx-runestone-container .thumbnail>img,.runestone-sphinx .thumbnail a>img,.runestone-sphinx .thumbnail>img{margin-left:auto;margin-right:auto}.ptx-runestone-container a.thumbnail.active,.ptx-runestone-container a.thumbnail:focus,.ptx-runestone-container a.thumbnail:hover,.runestone-sphinx a.thumbnail.active,.runestone-sphinx a.thumbnail:focus,.runestone-sphinx a.thumbnail:hover{border-color:#337ab7}.ptx-runestone-container .thumbnail .caption,.runestone-sphinx .thumbnail .caption{color:#333;padding:9px}.ptx-runestone-container .alert,.runestone-sphinx .alert{border:1px solid transparent;border-radius:4px;margin-bottom:20px;padding:15px}.ptx-runestone-container .alert h4,.runestone-sphinx .alert h4{color:inherit;margin-top:0}.ptx-runestone-container .alert .alert-link,.runestone-sphinx .alert .alert-link{font-weight:700}.ptx-runestone-container .alert>p,.ptx-runestone-container .alert>ul,.runestone-sphinx .alert>p,.runestone-sphinx .alert>ul{margin-bottom:0}.ptx-runestone-container .alert>p+p,.runestone-sphinx .alert>p+p{margin-top:5px}.ptx-runestone-container .alert-dismissable,.ptx-runestone-container .alert-dismissible,.runestone-sphinx .alert-dismissable,.runestone-sphinx .alert-dismissible{padding-right:35px}.ptx-runestone-container .alert-dismissable .close,.ptx-runestone-container .alert-dismissible .close,.runestone-sphinx .alert-dismissable .close,.runestone-sphinx .alert-dismissible .close{color:inherit;position:relative;right:-21px;top:-2px}.ptx-runestone-container .alert-success,.runestone-sphinx .alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.ptx-runestone-container .alert-success hr,.runestone-sphinx .alert-success hr{border-top-color:#c9e2b3}.ptx-runestone-container .alert-success .alert-link,.runestone-sphinx .alert-success .alert-link{color:#2b542c}.ptx-runestone-container .alert-info,.runestone-sphinx .alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.ptx-runestone-container .alert-info hr,.runestone-sphinx .alert-info hr{border-top-color:#a6e1ec}.ptx-runestone-container .alert-info .alert-link,.runestone-sphinx .alert-info .alert-link{color:#245269}.ptx-runestone-container .alert-warning,.runestone-sphinx .alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.ptx-runestone-container .alert-warning hr,.runestone-sphinx .alert-warning hr{border-top-color:#f7e1b5}.ptx-runestone-container .alert-warning .alert-link,.runestone-sphinx .alert-warning .alert-link{color:#66512c}.ptx-runestone-container .alert-danger,.runestone-sphinx .alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.ptx-runestone-container .alert-danger hr,.runestone-sphinx .alert-danger hr{border-top-color:#e4b9c0}.ptx-runestone-container .alert-danger .alert-link,.runestone-sphinx .alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.ptx-runestone-container .progress,.runestone-sphinx .progress{background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);height:20px;margin-bottom:20px;overflow:hidden}.ptx-runestone-container .progress-bar,.runestone-sphinx .progress-bar{background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);color:#fff;float:left;font-size:12px;height:100%;line-height:20px;text-align:center;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease;width:0}.ptx-runestone-container .progress-bar-striped,.ptx-runestone-container .progress-striped .progress-bar,.runestone-sphinx .progress-bar-striped,.runestone-sphinx .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.ptx-runestone-container .progress-bar.active,.ptx-runestone-container .progress.active .progress-bar,.runestone-sphinx .progress-bar.active,.runestone-sphinx .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.ptx-runestone-container .progress-bar-success,.runestone-sphinx .progress-bar-success{background-color:#5cb85c}.ptx-runestone-container .progress-striped .progress-bar-success,.runestone-sphinx .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .progress-bar-info,.runestone-sphinx .progress-bar-info{background-color:#5bc0de}.ptx-runestone-container .progress-striped .progress-bar-info,.runestone-sphinx .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .progress-bar-warning,.runestone-sphinx .progress-bar-warning{background-color:#f0ad4e}.ptx-runestone-container .progress-striped .progress-bar-warning,.runestone-sphinx .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .progress-bar-danger,.runestone-sphinx .progress-bar-danger{background-color:#d9534f}.ptx-runestone-container .progress-striped .progress-bar-danger,.runestone-sphinx .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .media,.runestone-sphinx .media{margin-top:15px}.ptx-runestone-container .media:first-child,.runestone-sphinx .media:first-child{margin-top:0}.ptx-runestone-container .media,.ptx-runestone-container .media-body,.runestone-sphinx .media,.runestone-sphinx .media-body{zoom:1;overflow:hidden}.ptx-runestone-container .media-body,.runestone-sphinx .media-body{width:10000px}.ptx-runestone-container .media-object,.runestone-sphinx .media-object{display:block}.ptx-runestone-container .media-object.img-thumbnail,.runestone-sphinx .media-object.img-thumbnail{max-width:none}.ptx-runestone-container .media-right,.ptx-runestone-container .media>.pull-right,.runestone-sphinx .media-right,.runestone-sphinx .media>.pull-right{padding-left:10px}.ptx-runestone-container .media-left,.ptx-runestone-container .media>.pull-left,.runestone-sphinx .media-left,.runestone-sphinx .media>.pull-left{padding-right:10px}.ptx-runestone-container .media-body,.ptx-runestone-container .media-left,.ptx-runestone-container .media-right,.runestone-sphinx .media-body,.runestone-sphinx .media-left,.runestone-sphinx .media-right{display:table-cell;vertical-align:top}.ptx-runestone-container .media-middle,.runestone-sphinx .media-middle{vertical-align:middle}.ptx-runestone-container .media-bottom,.runestone-sphinx .media-bottom{vertical-align:bottom}.ptx-runestone-container .media-heading,.runestone-sphinx .media-heading{margin-bottom:5px;margin-top:0}.ptx-runestone-container .media-list,.runestone-sphinx .media-list{list-style:none;padding-left:0}.ptx-runestone-container .list-group,.runestone-sphinx .list-group{margin-bottom:20px;padding-left:0}.ptx-runestone-container .list-group-item,.runestone-sphinx .list-group-item{background-color:#fff;border:1px solid #ddd;display:block;margin-bottom:-1px;padding:10px 15px;position:relative}.ptx-runestone-container .list-group-item:first-child,.runestone-sphinx .list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.ptx-runestone-container .list-group-item:last-child,.runestone-sphinx .list-group-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;margin-bottom:0}.ptx-runestone-container .list-group-item.disabled,.ptx-runestone-container .list-group-item.disabled:focus,.ptx-runestone-container .list-group-item.disabled:hover,.runestone-sphinx .list-group-item.disabled,.runestone-sphinx .list-group-item.disabled:focus,.runestone-sphinx .list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.ptx-runestone-container .list-group-item.disabled .list-group-item-heading,.ptx-runestone-container .list-group-item.disabled:focus .list-group-item-heading,.ptx-runestone-container .list-group-item.disabled:hover .list-group-item-heading,.runestone-sphinx .list-group-item.disabled .list-group-item-heading,.runestone-sphinx .list-group-item.disabled:focus .list-group-item-heading,.runestone-sphinx .list-group-item.disabled:hover .list-group-item-heading{color:inherit}.ptx-runestone-container .list-group-item.disabled .list-group-item-text,.ptx-runestone-container .list-group-item.disabled:focus .list-group-item-text,.ptx-runestone-container .list-group-item.disabled:hover .list-group-item-text,.runestone-sphinx .list-group-item.disabled .list-group-item-text,.runestone-sphinx .list-group-item.disabled:focus .list-group-item-text,.runestone-sphinx .list-group-item.disabled:hover .list-group-item-text{color:#777}.ptx-runestone-container .list-group-item.active,.ptx-runestone-container .list-group-item.active:focus,.ptx-runestone-container .list-group-item.active:hover,.runestone-sphinx .list-group-item.active,.runestone-sphinx .list-group-item.active:focus,.runestone-sphinx .list-group-item.active:hover{background-color:#337ab7;border-color:#337ab7;color:#fff;z-index:2}.ptx-runestone-container .list-group-item.active .list-group-item-heading,.ptx-runestone-container .list-group-item.active .list-group-item-heading>.small,.ptx-runestone-container .list-group-item.active .list-group-item-heading>small,.ptx-runestone-container .list-group-item.active:focus .list-group-item-heading,.ptx-runestone-container .list-group-item.active:focus .list-group-item-heading>.small,.ptx-runestone-container .list-group-item.active:focus .list-group-item-heading>small,.ptx-runestone-container .list-group-item.active:hover .list-group-item-heading,.ptx-runestone-container .list-group-item.active:hover .list-group-item-heading>.small,.ptx-runestone-container .list-group-item.active:hover .list-group-item-heading>small,.runestone-sphinx .list-group-item.active .list-group-item-heading,.runestone-sphinx .list-group-item.active .list-group-item-heading>.small,.runestone-sphinx .list-group-item.active .list-group-item-heading>small,.runestone-sphinx .list-group-item.active:focus .list-group-item-heading,.runestone-sphinx .list-group-item.active:focus .list-group-item-heading>.small,.runestone-sphinx .list-group-item.active:focus .list-group-item-heading>small,.runestone-sphinx .list-group-item.active:hover .list-group-item-heading,.runestone-sphinx .list-group-item.active:hover .list-group-item-heading>.small,.runestone-sphinx .list-group-item.active:hover .list-group-item-heading>small{color:inherit}.ptx-runestone-container .list-group-item.active .list-group-item-text,.ptx-runestone-container .list-group-item.active:focus .list-group-item-text,.ptx-runestone-container .list-group-item.active:hover .list-group-item-text,.runestone-sphinx .list-group-item.active .list-group-item-text,.runestone-sphinx .list-group-item.active:focus .list-group-item-text,.runestone-sphinx .list-group-item.active:hover .list-group-item-text{color:#c7ddef}.ptx-runestone-container a.list-group-item,.ptx-runestone-container button.list-group-item,.runestone-sphinx a.list-group-item,.runestone-sphinx button.list-group-item{color:#555}.ptx-runestone-container a.list-group-item .list-group-item-heading,.ptx-runestone-container button.list-group-item .list-group-item-heading,.runestone-sphinx a.list-group-item .list-group-item-heading,.runestone-sphinx button.list-group-item .list-group-item-heading{color:#333}.ptx-runestone-container a.list-group-item:focus,.ptx-runestone-container a.list-group-item:hover,.ptx-runestone-container button.list-group-item:focus,.ptx-runestone-container button.list-group-item:hover,.runestone-sphinx a.list-group-item:focus,.runestone-sphinx a.list-group-item:hover,.runestone-sphinx button.list-group-item:focus,.runestone-sphinx button.list-group-item:hover{background-color:#f5f5f5;color:#555;text-decoration:none}.ptx-runestone-container button.list-group-item,.runestone-sphinx button.list-group-item{text-align:left;width:100%}.ptx-runestone-container .list-group-item-success,.runestone-sphinx .list-group-item-success{background-color:#dff0d8;color:#3c763d}.ptx-runestone-container a.list-group-item-success,.ptx-runestone-container button.list-group-item-success,.runestone-sphinx a.list-group-item-success,.runestone-sphinx button.list-group-item-success{color:#3c763d}.ptx-runestone-container a.list-group-item-success .list-group-item-heading,.ptx-runestone-container button.list-group-item-success .list-group-item-heading,.runestone-sphinx a.list-group-item-success .list-group-item-heading,.runestone-sphinx button.list-group-item-success .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-success:focus,.ptx-runestone-container a.list-group-item-success:hover,.ptx-runestone-container button.list-group-item-success:focus,.ptx-runestone-container button.list-group-item-success:hover,.runestone-sphinx a.list-group-item-success:focus,.runestone-sphinx a.list-group-item-success:hover,.runestone-sphinx button.list-group-item-success:focus,.runestone-sphinx button.list-group-item-success:hover{background-color:#d0e9c6;color:#3c763d}.ptx-runestone-container a.list-group-item-success.active,.ptx-runestone-container a.list-group-item-success.active:focus,.ptx-runestone-container a.list-group-item-success.active:hover,.ptx-runestone-container button.list-group-item-success.active,.ptx-runestone-container button.list-group-item-success.active:focus,.ptx-runestone-container button.list-group-item-success.active:hover,.runestone-sphinx a.list-group-item-success.active,.runestone-sphinx a.list-group-item-success.active:focus,.runestone-sphinx a.list-group-item-success.active:hover,.runestone-sphinx button.list-group-item-success.active,.runestone-sphinx button.list-group-item-success.active:focus,.runestone-sphinx button.list-group-item-success.active:hover{background-color:#3c763d;border-color:#3c763d;color:#fff}.ptx-runestone-container .list-group-item-info,.runestone-sphinx .list-group-item-info{background-color:#d9edf7;color:#31708f}.ptx-runestone-container a.list-group-item-info,.ptx-runestone-container button.list-group-item-info,.runestone-sphinx a.list-group-item-info,.runestone-sphinx button.list-group-item-info{color:#31708f}.ptx-runestone-container a.list-group-item-info .list-group-item-heading,.ptx-runestone-container button.list-group-item-info .list-group-item-heading,.runestone-sphinx a.list-group-item-info .list-group-item-heading,.runestone-sphinx button.list-group-item-info .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-info:focus,.ptx-runestone-container a.list-group-item-info:hover,.ptx-runestone-container button.list-group-item-info:focus,.ptx-runestone-container button.list-group-item-info:hover,.runestone-sphinx a.list-group-item-info:focus,.runestone-sphinx a.list-group-item-info:hover,.runestone-sphinx button.list-group-item-info:focus,.runestone-sphinx button.list-group-item-info:hover{background-color:#c4e3f3;color:#31708f}.ptx-runestone-container a.list-group-item-info.active,.ptx-runestone-container a.list-group-item-info.active:focus,.ptx-runestone-container a.list-group-item-info.active:hover,.ptx-runestone-container button.list-group-item-info.active,.ptx-runestone-container button.list-group-item-info.active:focus,.ptx-runestone-container button.list-group-item-info.active:hover,.runestone-sphinx a.list-group-item-info.active,.runestone-sphinx a.list-group-item-info.active:focus,.runestone-sphinx a.list-group-item-info.active:hover,.runestone-sphinx button.list-group-item-info.active,.runestone-sphinx button.list-group-item-info.active:focus,.runestone-sphinx button.list-group-item-info.active:hover{background-color:#31708f;border-color:#31708f;color:#fff}.ptx-runestone-container .list-group-item-warning,.runestone-sphinx .list-group-item-warning{background-color:#fcf8e3;color:#8a6d3b}.ptx-runestone-container a.list-group-item-warning,.ptx-runestone-container button.list-group-item-warning,.runestone-sphinx a.list-group-item-warning,.runestone-sphinx button.list-group-item-warning{color:#8a6d3b}.ptx-runestone-container a.list-group-item-warning .list-group-item-heading,.ptx-runestone-container button.list-group-item-warning .list-group-item-heading,.runestone-sphinx a.list-group-item-warning .list-group-item-heading,.runestone-sphinx button.list-group-item-warning .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-warning:focus,.ptx-runestone-container a.list-group-item-warning:hover,.ptx-runestone-container button.list-group-item-warning:focus,.ptx-runestone-container button.list-group-item-warning:hover,.runestone-sphinx a.list-group-item-warning:focus,.runestone-sphinx a.list-group-item-warning:hover,.runestone-sphinx button.list-group-item-warning:focus,.runestone-sphinx button.list-group-item-warning:hover{background-color:#faf2cc;color:#8a6d3b}.ptx-runestone-container a.list-group-item-warning.active,.ptx-runestone-container a.list-group-item-warning.active:focus,.ptx-runestone-container a.list-group-item-warning.active:hover,.ptx-runestone-container button.list-group-item-warning.active,.ptx-runestone-container button.list-group-item-warning.active:focus,.ptx-runestone-container button.list-group-item-warning.active:hover,.runestone-sphinx a.list-group-item-warning.active,.runestone-sphinx a.list-group-item-warning.active:focus,.runestone-sphinx a.list-group-item-warning.active:hover,.runestone-sphinx button.list-group-item-warning.active,.runestone-sphinx button.list-group-item-warning.active:focus,.runestone-sphinx button.list-group-item-warning.active:hover{background-color:#8a6d3b;border-color:#8a6d3b;color:#fff}.ptx-runestone-container .list-group-item-danger,.runestone-sphinx .list-group-item-danger{background-color:#f2dede;color:#a94442}.ptx-runestone-container a.list-group-item-danger,.ptx-runestone-container button.list-group-item-danger,.runestone-sphinx a.list-group-item-danger,.runestone-sphinx button.list-group-item-danger{color:#a94442}.ptx-runestone-container a.list-group-item-danger .list-group-item-heading,.ptx-runestone-container button.list-group-item-danger .list-group-item-heading,.runestone-sphinx a.list-group-item-danger .list-group-item-heading,.runestone-sphinx button.list-group-item-danger .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-danger:focus,.ptx-runestone-container a.list-group-item-danger:hover,.ptx-runestone-container button.list-group-item-danger:focus,.ptx-runestone-container button.list-group-item-danger:hover,.runestone-sphinx a.list-group-item-danger:focus,.runestone-sphinx a.list-group-item-danger:hover,.runestone-sphinx button.list-group-item-danger:focus,.runestone-sphinx button.list-group-item-danger:hover{background-color:#ebcccc;color:#a94442}.ptx-runestone-container a.list-group-item-danger.active,.ptx-runestone-container a.list-group-item-danger.active:focus,.ptx-runestone-container a.list-group-item-danger.active:hover,.ptx-runestone-container button.list-group-item-danger.active,.ptx-runestone-container button.list-group-item-danger.active:focus,.ptx-runestone-container button.list-group-item-danger.active:hover,.runestone-sphinx a.list-group-item-danger.active,.runestone-sphinx a.list-group-item-danger.active:focus,.runestone-sphinx a.list-group-item-danger.active:hover,.runestone-sphinx button.list-group-item-danger.active,.runestone-sphinx button.list-group-item-danger.active:focus,.runestone-sphinx button.list-group-item-danger.active:hover{background-color:#a94442;border-color:#a94442;color:#fff}.ptx-runestone-container .list-group-item-heading,.runestone-sphinx .list-group-item-heading{margin-bottom:5px;margin-top:0}.ptx-runestone-container .list-group-item-text,.runestone-sphinx .list-group-item-text{line-height:1.3;margin-bottom:0}.ptx-runestone-container .panel,.runestone-sphinx .panel{background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05);margin-bottom:20px}.ptx-runestone-container .panel-body,.runestone-sphinx .panel-body{padding:15px}.ptx-runestone-container .panel-heading,.runestone-sphinx .panel-heading{border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px;padding:10px 15px}.ptx-runestone-container .panel-heading>.dropdown .dropdown-toggle,.runestone-sphinx .panel-heading>.dropdown .dropdown-toggle{color:inherit}.ptx-runestone-container .panel-title,.runestone-sphinx .panel-title{color:inherit;font-size:16px;margin-bottom:0;margin-top:0}.ptx-runestone-container .panel-title>.small,.ptx-runestone-container .panel-title>.small>a,.ptx-runestone-container .panel-title>a,.ptx-runestone-container .panel-title>small,.ptx-runestone-container .panel-title>small>a,.runestone-sphinx .panel-title>.small,.runestone-sphinx .panel-title>.small>a,.runestone-sphinx .panel-title>a,.runestone-sphinx .panel-title>small,.runestone-sphinx .panel-title>small>a{color:inherit}.ptx-runestone-container .panel-footer,.runestone-sphinx .panel-footer{background-color:#f5f5f5;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #ddd;padding:10px 15px}.ptx-runestone-container .panel>.list-group,.ptx-runestone-container .panel>.panel-collapse>.list-group,.runestone-sphinx .panel>.list-group,.runestone-sphinx .panel>.panel-collapse>.list-group{margin-bottom:0}.ptx-runestone-container .panel>.list-group .list-group-item,.ptx-runestone-container .panel>.panel-collapse>.list-group .list-group-item,.runestone-sphinx .panel>.list-group .list-group-item,.runestone-sphinx .panel>.panel-collapse>.list-group .list-group-item{border-radius:0;border-width:1px 0}.ptx-runestone-container .panel>.list-group:first-child .list-group-item:first-child,.ptx-runestone-container .panel>.panel-collapse>.list-group:first-child .list-group-item:first-child,.runestone-sphinx .panel>.list-group:first-child .list-group-item:first-child,.runestone-sphinx .panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.ptx-runestone-container .panel>.list-group:last-child .list-group-item:last-child,.ptx-runestone-container .panel>.panel-collapse>.list-group:last-child .list-group-item:last-child,.runestone-sphinx .panel>.list-group:last-child .list-group-item:last-child,.runestone-sphinx .panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.ptx-runestone-container .panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child,.runestone-sphinx .panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.ptx-runestone-container .list-group+.panel-footer,.ptx-runestone-container .panel-heading+.list-group .list-group-item:first-child,.runestone-sphinx .list-group+.panel-footer,.runestone-sphinx .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.ptx-runestone-container .panel>.panel-collapse>.table,.ptx-runestone-container .panel>.table,.ptx-runestone-container .panel>.table-responsive>.table,.runestone-sphinx .panel>.panel-collapse>.table,.runestone-sphinx .panel>.table,.runestone-sphinx .panel>.table-responsive>.table{margin-bottom:0}.ptx-runestone-container .panel>.panel-collapse>.table caption,.ptx-runestone-container .panel>.table caption,.ptx-runestone-container .panel>.table-responsive>.table caption,.runestone-sphinx .panel>.panel-collapse>.table caption,.runestone-sphinx .panel>.table caption,.runestone-sphinx .panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.ptx-runestone-container .panel>.table:first-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.runestone-sphinx .panel>.table:first-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.ptx-runestone-container .panel>.table:last-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.runestone-sphinx .panel>.table:last-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.ptx-runestone-container .panel>.panel-body+.table,.ptx-runestone-container .panel>.panel-body+.table-responsive,.ptx-runestone-container .panel>.table+.panel-body,.ptx-runestone-container .panel>.table-responsive+.panel-body,.runestone-sphinx .panel>.panel-body+.table,.runestone-sphinx .panel>.panel-body+.table-responsive,.runestone-sphinx .panel>.table+.panel-body,.runestone-sphinx .panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.ptx-runestone-container .panel>.table>tbody:first-child>tr:first-child td,.ptx-runestone-container .panel>.table>tbody:first-child>tr:first-child th,.runestone-sphinx .panel>.table>tbody:first-child>tr:first-child td,.runestone-sphinx .panel>.table>tbody:first-child>tr:first-child th{border-top:0}.ptx-runestone-container .panel>.table-bordered,.ptx-runestone-container .panel>.table-responsive>.table-bordered,.runestone-sphinx .panel>.table-bordered,.runestone-sphinx .panel>.table-responsive>.table-bordered{border:0}.ptx-runestone-container .panel>.table-bordered>tbody>tr>td:first-child,.ptx-runestone-container .panel>.table-bordered>tbody>tr>th:first-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>td:first-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>th:first-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>td:first-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>th:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>td:first-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>th:first-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>td:first-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>th:first-child,.runestone-sphinx .panel>.table-bordered>thead>tr>td:first-child,.runestone-sphinx .panel>.table-bordered>thead>tr>th:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.ptx-runestone-container .panel>.table-bordered>tbody>tr>td:last-child,.ptx-runestone-container .panel>.table-bordered>tbody>tr>th:last-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>td:last-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>th:last-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>td:last-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>th:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>td:last-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>th:last-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>td:last-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>th:last-child,.runestone-sphinx .panel>.table-bordered>thead>tr>td:last-child,.runestone-sphinx .panel>.table-bordered>thead>tr>th:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.ptx-runestone-container .panel>.table-bordered>tbody>tr:first-child>td,.ptx-runestone-container .panel>.table-bordered>tbody>tr:first-child>th,.ptx-runestone-container .panel>.table-bordered>tbody>tr:last-child>td,.ptx-runestone-container .panel>.table-bordered>tbody>tr:last-child>th,.ptx-runestone-container .panel>.table-bordered>tfoot>tr:last-child>td,.ptx-runestone-container .panel>.table-bordered>tfoot>tr:last-child>th,.ptx-runestone-container .panel>.table-bordered>thead>tr:first-child>td,.ptx-runestone-container .panel>.table-bordered>thead>tr:first-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.runestone-sphinx .panel>.table-bordered>tbody>tr:first-child>td,.runestone-sphinx .panel>.table-bordered>tbody>tr:first-child>th,.runestone-sphinx .panel>.table-bordered>tbody>tr:last-child>td,.runestone-sphinx .panel>.table-bordered>tbody>tr:last-child>th,.runestone-sphinx .panel>.table-bordered>tfoot>tr:last-child>td,.runestone-sphinx .panel>.table-bordered>tfoot>tr:last-child>th,.runestone-sphinx .panel>.table-bordered>thead>tr:first-child>td,.runestone-sphinx .panel>.table-bordered>thead>tr:first-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.ptx-runestone-container .panel>.table-responsive,.runestone-sphinx .panel>.table-responsive{border:0;margin-bottom:0}.ptx-runestone-container .panel-group,.runestone-sphinx .panel-group{margin-bottom:20px}.ptx-runestone-container .panel-group .panel,.runestone-sphinx .panel-group .panel{border-radius:4px;margin-bottom:0}.ptx-runestone-container .panel-group .panel+.panel,.runestone-sphinx .panel-group .panel+.panel{margin-top:5px}.ptx-runestone-container .panel-group .panel-heading,.runestone-sphinx .panel-group .panel-heading{border-bottom:0}.ptx-runestone-container .panel-group .panel-heading+.panel-collapse>.list-group,.ptx-runestone-container .panel-group .panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-group .panel-heading+.panel-collapse>.list-group,.runestone-sphinx .panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.ptx-runestone-container .panel-group .panel-footer,.runestone-sphinx .panel-group .panel-footer{border-top:0}.ptx-runestone-container .panel-group .panel-footer+.panel-collapse .panel-body,.runestone-sphinx .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.ptx-runestone-container .panel-default,.runestone-sphinx .panel-default{border-color:#ddd}.ptx-runestone-container .panel-default>.panel-heading,.runestone-sphinx .panel-default>.panel-heading{background-color:#f5f5f5;border-color:#ddd;color:#333}.ptx-runestone-container .panel-default>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.ptx-runestone-container .panel-default>.panel-heading .badge,.runestone-sphinx .panel-default>.panel-heading .badge{background-color:#333;color:#f5f5f5}.ptx-runestone-container .panel-default>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.ptx-runestone-container .panel-primary,.runestone-sphinx .panel-primary{border-color:#337ab7}.ptx-runestone-container .panel-primary>.panel-heading,.runestone-sphinx .panel-primary>.panel-heading{background-color:#337ab7;border-color:#337ab7;color:#fff}.ptx-runestone-container .panel-primary>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.ptx-runestone-container .panel-primary>.panel-heading .badge,.runestone-sphinx .panel-primary>.panel-heading .badge{background-color:#fff;color:#337ab7}.ptx-runestone-container .panel-primary>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.ptx-runestone-container .panel-success,.runestone-sphinx .panel-success{border-color:#d6e9c6}.ptx-runestone-container .panel-success>.panel-heading,.runestone-sphinx .panel-success>.panel-heading{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.ptx-runestone-container .panel-success>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.ptx-runestone-container .panel-success>.panel-heading .badge,.runestone-sphinx .panel-success>.panel-heading .badge{background-color:#3c763d;color:#dff0d8}.ptx-runestone-container .panel-success>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.ptx-runestone-container .panel-info,.runestone-sphinx .panel-info{border-color:#bce8f1}.ptx-runestone-container .panel-info>.panel-heading,.runestone-sphinx .panel-info>.panel-heading{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.ptx-runestone-container .panel-info>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.ptx-runestone-container .panel-info>.panel-heading .badge,.runestone-sphinx .panel-info>.panel-heading .badge{background-color:#31708f;color:#d9edf7}.ptx-runestone-container .panel-info>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.ptx-runestone-container .panel-warning,.runestone-sphinx .panel-warning{border-color:#faebcc}.ptx-runestone-container .panel-warning>.panel-heading,.runestone-sphinx .panel-warning>.panel-heading{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.ptx-runestone-container .panel-warning>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.ptx-runestone-container .panel-warning>.panel-heading .badge,.runestone-sphinx .panel-warning>.panel-heading .badge{background-color:#8a6d3b;color:#fcf8e3}.ptx-runestone-container .panel-warning>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.ptx-runestone-container .panel-danger,.runestone-sphinx .panel-danger{border-color:#ebccd1}.ptx-runestone-container .panel-danger>.panel-heading,.runestone-sphinx .panel-danger>.panel-heading{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.ptx-runestone-container .panel-danger>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.ptx-runestone-container .panel-danger>.panel-heading .badge,.runestone-sphinx .panel-danger>.panel-heading .badge{background-color:#a94442;color:#f2dede}.ptx-runestone-container .panel-danger>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.ptx-runestone-container .embed-responsive,.runestone-sphinx .embed-responsive{display:block;height:0;overflow:hidden;padding:0;position:relative}.ptx-runestone-container .embed-responsive .embed-responsive-item,.ptx-runestone-container .embed-responsive embed,.ptx-runestone-container .embed-responsive iframe,.ptx-runestone-container .embed-responsive object,.ptx-runestone-container .embed-responsive video,.runestone-sphinx .embed-responsive .embed-responsive-item,.runestone-sphinx .embed-responsive embed,.runestone-sphinx .embed-responsive iframe,.runestone-sphinx .embed-responsive object,.runestone-sphinx .embed-responsive video{border:0;bottom:0;height:100%;left:0;position:absolute;top:0;width:100%}.ptx-runestone-container .embed-responsive-16by9,.runestone-sphinx .embed-responsive-16by9{padding-bottom:56.25%}.ptx-runestone-container .embed-responsive-4by3,.runestone-sphinx .embed-responsive-4by3{padding-bottom:75%}.ptx-runestone-container .well,.runestone-sphinx .well{background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);margin-bottom:20px;min-height:20px;padding:19px}.ptx-runestone-container .well blockquote,.runestone-sphinx .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.ptx-runestone-container .well-lg,.runestone-sphinx .well-lg{border-radius:6px;padding:24px}.ptx-runestone-container .well-sm,.runestone-sphinx .well-sm{border-radius:3px;padding:9px}.ptx-runestone-container .close,.runestone-sphinx .close{color:#000;filter:alpha(opacity=20);float:right;font-size:21px;font-weight:700;line-height:1;opacity:.2;text-shadow:0 1px 0 #fff}.ptx-runestone-container .close:focus,.ptx-runestone-container .close:hover,.runestone-sphinx .close:focus,.runestone-sphinx .close:hover{color:#000;cursor:pointer;filter:alpha(opacity=50);opacity:.5;text-decoration:none}.ptx-runestone-container button.close,.runestone-sphinx button.close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;cursor:pointer;padding:0}.ptx-runestone-container .modal-open,.runestone-sphinx .modal-open{overflow:hidden}.ptx-runestone-container .modal,.runestone-sphinx .modal{-webkit-overflow-scrolling:touch;bottom:0;display:none;left:0;outline:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1050}.ptx-runestone-container .modal.fade .modal-dialog,.runestone-sphinx .modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.ptx-runestone-container .modal.in .modal-dialog,.runestone-sphinx .modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.ptx-runestone-container .modal-open .modal,.runestone-sphinx .modal-open .modal{overflow-x:hidden;overflow-y:auto}.ptx-runestone-container .modal-dialog,.runestone-sphinx .modal-dialog{margin:10px;position:relative;width:auto}.ptx-runestone-container .modal-content,.runestone-sphinx .modal-content{background-clip:padding-box;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0;position:relative}.ptx-runestone-container .modal-backdrop,.runestone-sphinx .modal-backdrop{background-color:#000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1040}.ptx-runestone-container .modal-backdrop.fade,.runestone-sphinx .modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.ptx-runestone-container .modal-backdrop.in,.runestone-sphinx .modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.ptx-runestone-container .modal-header,.runestone-sphinx .modal-header{border-bottom:1px solid #e5e5e5;padding:15px}.ptx-runestone-container .modal-header .close,.runestone-sphinx .modal-header .close{margin-top:-2px}.ptx-runestone-container .modal-title,.runestone-sphinx .modal-title{line-height:1.42857143;margin:0}.ptx-runestone-container .modal-body,.runestone-sphinx .modal-body{padding:15px;position:relative}.ptx-runestone-container .modal-footer,.runestone-sphinx .modal-footer{border-top:1px solid #e5e5e5;padding:15px;text-align:right}.ptx-runestone-container .modal-footer .btn+.btn,.runestone-sphinx .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.ptx-runestone-container .modal-footer .btn-group .btn+.btn,.runestone-sphinx .modal-footer .btn-group .btn+.btn{margin-left:-1px}.ptx-runestone-container .modal-footer .btn-block+.btn-block,.runestone-sphinx .modal-footer .btn-block+.btn-block{margin-left:0}.ptx-runestone-container .modal-scrollbar-measure,.runestone-sphinx .modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:768px){.ptx-runestone-container .modal-dialog,.runestone-sphinx .modal-dialog{margin:30px auto;width:600px}.ptx-runestone-container .modal-content,.runestone-sphinx .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.ptx-runestone-container .modal-sm,.runestone-sphinx .modal-sm{width:300px}}@media (min-width:992px){.ptx-runestone-container .modal-lg,.runestone-sphinx .modal-lg{width:900px}}.ptx-runestone-container .tooltip,.runestone-sphinx .tooltip{word-wrap:normal;display:block;filter:alpha(opacity=0);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857143;opacity:0;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:1070}.ptx-runestone-container .tooltip.in,.runestone-sphinx .tooltip.in{filter:alpha(opacity=90);opacity:.9}.ptx-runestone-container .tooltip.top,.runestone-sphinx .tooltip.top{margin-top:-3px;padding:5px 0}.ptx-runestone-container .tooltip.right,.runestone-sphinx .tooltip.right{margin-left:3px;padding:0 5px}.ptx-runestone-container .tooltip.bottom,.runestone-sphinx .tooltip.bottom{margin-top:3px;padding:5px 0}.ptx-runestone-container .tooltip.left,.runestone-sphinx .tooltip.left{margin-left:-3px;padding:0 5px}.ptx-runestone-container .tooltip.top .tooltip-arrow,.runestone-sphinx .tooltip.top .tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.ptx-runestone-container .tooltip.top-left .tooltip-arrow,.runestone-sphinx .tooltip.top-left .tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;margin-bottom:-5px;right:5px}.ptx-runestone-container .tooltip.top-right .tooltip-arrow,.runestone-sphinx .tooltip.top-right .tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:5px;margin-bottom:-5px}.ptx-runestone-container .tooltip.right .tooltip-arrow,.runestone-sphinx .tooltip.right .tooltip-arrow{border-right-color:#000;border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.ptx-runestone-container .tooltip.left .tooltip-arrow,.runestone-sphinx .tooltip.left .tooltip-arrow{border-left-color:#000;border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.ptx-runestone-container .tooltip.bottom .tooltip-arrow,.runestone-sphinx .tooltip.bottom .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.ptx-runestone-container .tooltip.bottom-left .tooltip-arrow,.runestone-sphinx .tooltip.bottom-left .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;margin-top:-5px;right:5px;top:0}.ptx-runestone-container .tooltip.bottom-right .tooltip-arrow,.runestone-sphinx .tooltip.bottom-right .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:5px;margin-top:-5px;top:0}.ptx-runestone-container .tooltip-inner,.runestone-sphinx .tooltip-inner{background-color:#000;border-radius:4px;color:#fff;max-width:200px;padding:3px 8px;text-align:center}.ptx-runestone-container .tooltip-arrow,.runestone-sphinx .tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.ptx-runestone-container .popover,.runestone-sphinx .popover{word-wrap:normal;background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);display:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;left:0;letter-spacing:normal;line-break:auto;line-height:1.42857143;max-width:276px;padding:1px;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;top:0;white-space:normal;word-break:normal;word-spacing:normal;z-index:1060}.ptx-runestone-container .popover.top,.runestone-sphinx .popover.top{margin-top:-10px}.ptx-runestone-container .popover.right,.runestone-sphinx .popover.right{margin-left:10px}.ptx-runestone-container .popover.bottom,.runestone-sphinx .popover.bottom{margin-top:10px}.ptx-runestone-container .popover.left,.runestone-sphinx .popover.left{margin-left:-10px}.ptx-runestone-container .popover>.arrow,.runestone-sphinx .popover>.arrow{border-width:11px}.ptx-runestone-container .popover>.arrow,.ptx-runestone-container .popover>.arrow:after,.runestone-sphinx .popover>.arrow,.runestone-sphinx .popover>.arrow:after{border-color:transparent;border-style:solid;display:block;height:0;position:absolute;width:0}.ptx-runestone-container .popover>.arrow:after,.runestone-sphinx .popover>.arrow:after{border-width:10px;content:""}.ptx-runestone-container .popover.top>.arrow,.runestone-sphinx .popover.top>.arrow{border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px;left:50%;margin-left:-11px}.ptx-runestone-container .popover.top>.arrow:after,.runestone-sphinx .popover.top>.arrow:after{border-bottom-width:0;border-top-color:#fff;bottom:1px;content:" ";margin-left:-10px}.ptx-runestone-container .popover.right>.arrow,.runestone-sphinx .popover.right>.arrow{border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25);left:-11px;margin-top:-11px;top:50%}.ptx-runestone-container .popover.right>.arrow:after,.runestone-sphinx .popover.right>.arrow:after{border-left-width:0;border-right-color:#fff;bottom:-10px;content:" ";left:1px}.ptx-runestone-container .popover.bottom>.arrow,.runestone-sphinx .popover.bottom>.arrow{border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0;left:50%;margin-left:-11px;top:-11px}.ptx-runestone-container .popover.bottom>.arrow:after,.runestone-sphinx .popover.bottom>.arrow:after{border-bottom-color:#fff;border-top-width:0;content:" ";margin-left:-10px;top:1px}.ptx-runestone-container .popover.left>.arrow,.runestone-sphinx .popover.left>.arrow{border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0;margin-top:-11px;right:-11px;top:50%}.ptx-runestone-container .popover.left>.arrow:after,.runestone-sphinx .popover.left>.arrow:after{border-left-color:#fff;border-right-width:0;bottom:-10px;content:" ";right:1px}.ptx-runestone-container .popover-title,.runestone-sphinx .popover-title{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0;font-size:14px;margin:0;padding:8px 14px}.ptx-runestone-container .popover-content,.runestone-sphinx .popover-content{padding:9px 14px}.ptx-runestone-container .carousel,.runestone-sphinx .carousel{position:relative}.ptx-runestone-container .carousel-inner,.runestone-sphinx .carousel-inner{overflow:hidden;position:relative;width:100%}.ptx-runestone-container .carousel-inner>.item,.runestone-sphinx .carousel-inner>.item{display:none;position:relative;-webkit-transition:left .6s ease-in-out;-o-transition:left .6s ease-in-out;transition:left .6s ease-in-out}.ptx-runestone-container .carousel-inner>.item>a>img,.ptx-runestone-container .carousel-inner>.item>img,.runestone-sphinx .carousel-inner>.item>a>img,.runestone-sphinx .carousel-inner>.item>img{line-height:1}@media (-webkit-transform-3d),(transform-3d){.ptx-runestone-container .carousel-inner>.item,.runestone-sphinx .carousel-inner>.item{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px;-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out}.ptx-runestone-container .carousel-inner>.item.active.right,.ptx-runestone-container .carousel-inner>.item.next,.runestone-sphinx .carousel-inner>.item.active.right,.runestone-sphinx .carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ptx-runestone-container .carousel-inner>.item.active.left,.ptx-runestone-container .carousel-inner>.item.prev,.runestone-sphinx .carousel-inner>.item.active.left,.runestone-sphinx .carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ptx-runestone-container .carousel-inner>.item.active,.ptx-runestone-container .carousel-inner>.item.next.left,.ptx-runestone-container .carousel-inner>.item.prev.right,.runestone-sphinx .carousel-inner>.item.active,.runestone-sphinx .carousel-inner>.item.next.left,.runestone-sphinx .carousel-inner>.item.prev.right{left:0;-webkit-transform:translateZ(0);transform:translateZ(0)}}.ptx-runestone-container .carousel-inner>.active,.ptx-runestone-container .carousel-inner>.next,.ptx-runestone-container .carousel-inner>.prev,.runestone-sphinx .carousel-inner>.active,.runestone-sphinx .carousel-inner>.next,.runestone-sphinx .carousel-inner>.prev{display:block}.ptx-runestone-container .carousel-inner>.active,.runestone-sphinx .carousel-inner>.active{left:0}.ptx-runestone-container .carousel-inner>.next,.ptx-runestone-container .carousel-inner>.prev,.runestone-sphinx .carousel-inner>.next,.runestone-sphinx .carousel-inner>.prev{position:absolute;top:0;width:100%}.ptx-runestone-container .carousel-inner>.next,.runestone-sphinx .carousel-inner>.next{left:100%}.ptx-runestone-container .carousel-inner>.prev,.runestone-sphinx .carousel-inner>.prev{left:-100%}.ptx-runestone-container .carousel-inner>.next.left,.ptx-runestone-container .carousel-inner>.prev.right,.runestone-sphinx .carousel-inner>.next.left,.runestone-sphinx .carousel-inner>.prev.right{left:0}.ptx-runestone-container .carousel-inner>.active.left,.runestone-sphinx .carousel-inner>.active.left{left:-100%}.ptx-runestone-container .carousel-inner>.active.right,.runestone-sphinx .carousel-inner>.active.right{left:100%}.ptx-runestone-container .carousel-control,.runestone-sphinx .carousel-control{background-color:transparent;bottom:0;color:#fff;filter:alpha(opacity=50);font-size:20px;left:0;opacity:.5;position:absolute;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);top:0;width:15%}.ptx-runestone-container .carousel-control.left,.runestone-sphinx .carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,transparent 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,transparent);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#80000000",endColorstr="#00000000",GradientType=1)}.ptx-runestone-container .carousel-control.right,.runestone-sphinx .carousel-control.right{background-image:-webkit-linear-gradient(left,transparent,rgba(0,0,0,.5));background-image:-o-linear-gradient(left,transparent 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(transparent),to(rgba(0,0,0,.5)));background-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.5));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000",endColorstr="#80000000",GradientType=1);left:auto;right:0}.ptx-runestone-container .carousel-control:focus,.ptx-runestone-container .carousel-control:hover,.runestone-sphinx .carousel-control:focus,.runestone-sphinx .carousel-control:hover{color:#fff;filter:alpha(opacity=90);opacity:.9;outline:0;text-decoration:none}.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next,.runestone-sphinx .carousel-control .icon-prev{display:inline-block;margin-top:-10px;position:absolute;top:50%;z-index:5}.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .icon-prev{left:50%;margin-left:-10px}.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next{margin-right:-10px;right:50%}.ptx-runestone-container .carousel-control .icon-next,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .icon-next,.runestone-sphinx .carousel-control .icon-prev{font-family:serif;height:20px;line-height:1;width:20px}.ptx-runestone-container .carousel-control .icon-prev:before,.runestone-sphinx .carousel-control .icon-prev:before{content:"\2039"}.ptx-runestone-container .carousel-control .icon-next:before,.runestone-sphinx .carousel-control .icon-next:before{content:"\203a"}.ptx-runestone-container .carousel-indicators,.runestone-sphinx .carousel-indicators{bottom:10px;left:50%;list-style:none;margin-left:-30%;padding-left:0;position:absolute;text-align:center;width:60%;z-index:15}.ptx-runestone-container .carousel-indicators li,.runestone-sphinx .carousel-indicators li{background-color:#000\9;background-color:transparent;border:1px solid #fff;border-radius:10px;cursor:pointer;display:inline-block;height:10px;margin:1px;text-indent:-999px;width:10px}.ptx-runestone-container .carousel-indicators .active,.runestone-sphinx .carousel-indicators .active{background-color:#fff;height:12px;margin:0;width:12px}.ptx-runestone-container .carousel-caption,.runestone-sphinx .carousel-caption{bottom:20px;color:#fff;left:15%;padding-bottom:20px;padding-top:20px;position:absolute;right:15%;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);z-index:10}.ptx-runestone-container .carousel-caption .btn,.runestone-sphinx .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next,.runestone-sphinx .carousel-control .icon-prev{font-size:30px;height:30px;margin-top:-10px;width:30px}.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .icon-prev{margin-left:-10px}.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next{margin-right:-10px}.ptx-runestone-container .carousel-caption,.runestone-sphinx .carousel-caption{left:20%;padding-bottom:30px;right:20%}.ptx-runestone-container .carousel-indicators,.runestone-sphinx .carousel-indicators{bottom:20px}}.ptx-runestone-container .btn-group-vertical>.btn-group:after,.ptx-runestone-container .btn-group-vertical>.btn-group:before,.ptx-runestone-container .btn-toolbar:after,.ptx-runestone-container .btn-toolbar:before,.ptx-runestone-container .clearfix:after,.ptx-runestone-container .clearfix:before,.ptx-runestone-container .container-fluid:after,.ptx-runestone-container .container-fluid:before,.ptx-runestone-container .container:after,.ptx-runestone-container .container:before,.ptx-runestone-container .dl-horizontal dd:after,.ptx-runestone-container .dl-horizontal dd:before,.ptx-runestone-container .form-horizontal .form-group:after,.ptx-runestone-container .form-horizontal .form-group:before,.ptx-runestone-container .modal-footer:after,.ptx-runestone-container .modal-footer:before,.ptx-runestone-container .modal-header:after,.ptx-runestone-container .modal-header:before,.ptx-runestone-container .nav:after,.ptx-runestone-container .nav:before,.ptx-runestone-container .navbar-collapse:after,.ptx-runestone-container .navbar-collapse:before,.ptx-runestone-container .navbar-header:after,.ptx-runestone-container .navbar-header:before,.ptx-runestone-container .navbar:after,.ptx-runestone-container .navbar:before,.ptx-runestone-container .pager:after,.ptx-runestone-container .pager:before,.ptx-runestone-container .panel-body:after,.ptx-runestone-container .panel-body:before,.ptx-runestone-container .row:after,.ptx-runestone-container .row:before,.runestone-sphinx .btn-group-vertical>.btn-group:after,.runestone-sphinx .btn-group-vertical>.btn-group:before,.runestone-sphinx .btn-toolbar:after,.runestone-sphinx .btn-toolbar:before,.runestone-sphinx .clearfix:after,.runestone-sphinx .clearfix:before,.runestone-sphinx .container-fluid:after,.runestone-sphinx .container-fluid:before,.runestone-sphinx .container:after,.runestone-sphinx .container:before,.runestone-sphinx .dl-horizontal dd:after,.runestone-sphinx .dl-horizontal dd:before,.runestone-sphinx .form-horizontal .form-group:after,.runestone-sphinx .form-horizontal .form-group:before,.runestone-sphinx .modal-footer:after,.runestone-sphinx .modal-footer:before,.runestone-sphinx .modal-header:after,.runestone-sphinx .modal-header:before,.runestone-sphinx .nav:after,.runestone-sphinx .nav:before,.runestone-sphinx .navbar-collapse:after,.runestone-sphinx .navbar-collapse:before,.runestone-sphinx .navbar-header:after,.runestone-sphinx .navbar-header:before,.runestone-sphinx .navbar:after,.runestone-sphinx .navbar:before,.runestone-sphinx .pager:after,.runestone-sphinx .pager:before,.runestone-sphinx .panel-body:after,.runestone-sphinx .panel-body:before,.runestone-sphinx .row:after,.runestone-sphinx .row:before{content:" ";display:table}.ptx-runestone-container .btn-group-vertical>.btn-group:after,.ptx-runestone-container .btn-toolbar:after,.ptx-runestone-container .clearfix:after,.ptx-runestone-container .container-fluid:after,.ptx-runestone-container .container:after,.ptx-runestone-container .dl-horizontal dd:after,.ptx-runestone-container .form-horizontal .form-group:after,.ptx-runestone-container .modal-footer:after,.ptx-runestone-container .modal-header:after,.ptx-runestone-container .nav:after,.ptx-runestone-container .navbar-collapse:after,.ptx-runestone-container .navbar-header:after,.ptx-runestone-container .navbar:after,.ptx-runestone-container .pager:after,.ptx-runestone-container .panel-body:after,.ptx-runestone-container .row:after,.runestone-sphinx .btn-group-vertical>.btn-group:after,.runestone-sphinx .btn-toolbar:after,.runestone-sphinx .clearfix:after,.runestone-sphinx .container-fluid:after,.runestone-sphinx .container:after,.runestone-sphinx .dl-horizontal dd:after,.runestone-sphinx .form-horizontal .form-group:after,.runestone-sphinx .modal-footer:after,.runestone-sphinx .modal-header:after,.runestone-sphinx .nav:after,.runestone-sphinx .navbar-collapse:after,.runestone-sphinx .navbar-header:after,.runestone-sphinx .navbar:after,.runestone-sphinx .pager:after,.runestone-sphinx .panel-body:after,.runestone-sphinx .row:after{clear:both}.ptx-runestone-container .center-block,.runestone-sphinx .center-block{display:block;margin-left:auto;margin-right:auto}.ptx-runestone-container .pull-right,.runestone-sphinx .pull-right{float:right!important}.ptx-runestone-container .pull-left,.runestone-sphinx .pull-left{float:left!important}.ptx-runestone-container .hide,.runestone-sphinx .hide{display:none!important}.ptx-runestone-container .show,.runestone-sphinx .show{display:block!important}.ptx-runestone-container .invisible,.runestone-sphinx .invisible{visibility:hidden}.ptx-runestone-container .text-hide,.runestone-sphinx .text-hide{background-color:transparent;border:0;color:transparent;font:0/0 a;text-shadow:none}.ptx-runestone-container .hidden,.runestone-sphinx .hidden{display:none!important}.ptx-runestone-container .affix,.runestone-sphinx .affix{position:fixed}@-ms-viewport{width:device-width}.ptx-runestone-container .visible-lg,.ptx-runestone-container .visible-lg-block,.ptx-runestone-container .visible-lg-inline,.ptx-runestone-container .visible-lg-inline-block,.ptx-runestone-container .visible-md,.ptx-runestone-container .visible-md-block,.ptx-runestone-container .visible-md-inline,.ptx-runestone-container .visible-md-inline-block,.ptx-runestone-container .visible-sm,.ptx-runestone-container .visible-sm-block,.ptx-runestone-container .visible-sm-inline,.ptx-runestone-container .visible-sm-inline-block,.ptx-runestone-container .visible-xs,.ptx-runestone-container .visible-xs-block,.ptx-runestone-container .visible-xs-inline,.ptx-runestone-container .visible-xs-inline-block,.runestone-sphinx .visible-lg,.runestone-sphinx .visible-lg-block,.runestone-sphinx .visible-lg-inline,.runestone-sphinx .visible-lg-inline-block,.runestone-sphinx .visible-md,.runestone-sphinx .visible-md-block,.runestone-sphinx .visible-md-inline,.runestone-sphinx .visible-md-inline-block,.runestone-sphinx .visible-sm,.runestone-sphinx .visible-sm-block,.runestone-sphinx .visible-sm-inline,.runestone-sphinx .visible-sm-inline-block,.runestone-sphinx .visible-xs,.runestone-sphinx .visible-xs-block,.runestone-sphinx .visible-xs-inline,.runestone-sphinx .visible-xs-inline-block{display:none!important}@media (max-width:767px){.ptx-runestone-container .visible-xs,.runestone-sphinx .visible-xs{display:block!important}.ptx-runestone-container table.visible-xs,.runestone-sphinx table.visible-xs{display:table!important}.ptx-runestone-container tr.visible-xs,.runestone-sphinx tr.visible-xs{display:table-row!important}.ptx-runestone-container td.visible-xs,.ptx-runestone-container th.visible-xs,.runestone-sphinx td.visible-xs,.runestone-sphinx th.visible-xs{display:table-cell!important}.ptx-runestone-container .visible-xs-block,.runestone-sphinx .visible-xs-block{display:block!important}.ptx-runestone-container .visible-xs-inline,.runestone-sphinx .visible-xs-inline{display:inline!important}.ptx-runestone-container .visible-xs-inline-block,.runestone-sphinx .visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.ptx-runestone-container .visible-sm,.runestone-sphinx .visible-sm{display:block!important}.ptx-runestone-container table.visible-sm,.runestone-sphinx table.visible-sm{display:table!important}.ptx-runestone-container tr.visible-sm,.runestone-sphinx tr.visible-sm{display:table-row!important}.ptx-runestone-container td.visible-sm,.ptx-runestone-container th.visible-sm,.runestone-sphinx td.visible-sm,.runestone-sphinx th.visible-sm{display:table-cell!important}.ptx-runestone-container .visible-sm-block,.runestone-sphinx .visible-sm-block{display:block!important}.ptx-runestone-container .visible-sm-inline,.runestone-sphinx .visible-sm-inline{display:inline!important}.ptx-runestone-container .visible-sm-inline-block,.runestone-sphinx .visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.ptx-runestone-container .visible-md,.runestone-sphinx .visible-md{display:block!important}.ptx-runestone-container table.visible-md,.runestone-sphinx table.visible-md{display:table!important}.ptx-runestone-container tr.visible-md,.runestone-sphinx tr.visible-md{display:table-row!important}.ptx-runestone-container td.visible-md,.ptx-runestone-container th.visible-md,.runestone-sphinx td.visible-md,.runestone-sphinx th.visible-md{display:table-cell!important}.ptx-runestone-container .visible-md-block,.runestone-sphinx .visible-md-block{display:block!important}.ptx-runestone-container .visible-md-inline,.runestone-sphinx .visible-md-inline{display:inline!important}.ptx-runestone-container .visible-md-inline-block,.runestone-sphinx .visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.ptx-runestone-container .visible-lg,.runestone-sphinx .visible-lg{display:block!important}.ptx-runestone-container table.visible-lg,.runestone-sphinx table.visible-lg{display:table!important}.ptx-runestone-container tr.visible-lg,.runestone-sphinx tr.visible-lg{display:table-row!important}.ptx-runestone-container td.visible-lg,.ptx-runestone-container th.visible-lg,.runestone-sphinx td.visible-lg,.runestone-sphinx th.visible-lg{display:table-cell!important}.ptx-runestone-container .visible-lg-block,.runestone-sphinx .visible-lg-block{display:block!important}.ptx-runestone-container .visible-lg-inline,.runestone-sphinx .visible-lg-inline{display:inline!important}.ptx-runestone-container .visible-lg-inline-block,.runestone-sphinx .visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.ptx-runestone-container .hidden-xs,.runestone-sphinx .hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.ptx-runestone-container .hidden-sm,.runestone-sphinx .hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.ptx-runestone-container .hidden-md,.runestone-sphinx .hidden-md{display:none!important}}@media (min-width:1200px){.ptx-runestone-container .hidden-lg,.runestone-sphinx .hidden-lg{display:none!important}}.ptx-runestone-container .visible-print,.runestone-sphinx .visible-print{display:none!important}@media print{.ptx-runestone-container .visible-print,.runestone-sphinx .visible-print{display:block!important}.ptx-runestone-container table.visible-print,.runestone-sphinx table.visible-print{display:table!important}.ptx-runestone-container tr.visible-print,.runestone-sphinx tr.visible-print{display:table-row!important}.ptx-runestone-container td.visible-print,.ptx-runestone-container th.visible-print,.runestone-sphinx td.visible-print,.runestone-sphinx th.visible-print{display:table-cell!important}}.ptx-runestone-container .visible-print-block,.runestone-sphinx .visible-print-block{display:none!important}@media print{.ptx-runestone-container .visible-print-block,.runestone-sphinx .visible-print-block{display:block!important}}.ptx-runestone-container .visible-print-inline,.runestone-sphinx .visible-print-inline{display:none!important}@media print{.ptx-runestone-container .visible-print-inline,.runestone-sphinx .visible-print-inline{display:inline!important}}.ptx-runestone-container .visible-print-inline-block,.runestone-sphinx .visible-print-inline-block{display:none!important}@media print{.ptx-runestone-container .visible-print-inline-block,.runestone-sphinx .visible-print-inline-block{display:inline-block!important}.ptx-runestone-container .hidden-print,.runestone-sphinx .hidden-print{display:none!important}}.ptx-runestone-container :root,.runestone-sphinx :root{--background:#fff;--outerBackground:#eee;--links:#0645ad;--bodyFont:#000;--tooltip:#fff;--grayToWhite:#333;--navbar:#f8f8f8;--navbarFont:#707070;--navbarFontHover:#000;--alerts:#d9edf7;--completionButton:#f19711;--completionButtonHover:#ff9f19;--admonition:#fcf8e3;--admonitionBorder:#fbeed5;--codeButtons:#474949;--codeButtonsBorder:#474949;--dangerAlerts:#f2dede;--successAlerts:#dff0d8;--contentWidthRegular:660px;--contentWidthWide:1060px;--componentBgColor:#f0f8ff;--componentBorderColor:#000;--questionBgColor:#e1efff}.ptx-runestone-container [data-theme=dark],.runestone-sphinx [data-theme=dark]{--background:#2c2f33;--outerBackground:#23272a;--links:#7289da;--bodyFont:#99aab5;--tooltip:#000;--grayToWhite:#fff;--navbar:#3d3d3d;--navbarFont:#fff;--navbarFontHover:#d6d6d6;--alerts:#714082;--completionButton:#650087;--completionButtonHover:#560073;--admonition:#3d3d3d;--admonitionBorder:#262626;--codeButtons:#7289da;--codeButtonsBorder:#fff;--dangerAlerts:#8c2626;--successAlerts:#217300;--componentBgColor:#07467d;--componentBorderColor:#939090;--questionBgColor:#17555d}.ptx-runestone-container td.linenos pre,.runestone-sphinx td.linenos pre{color:#6b6b6b}.ptx-runestone-container .str,.runestone-sphinx .str{color:#006b00}.ptx-runestone-container .parsons .block,.runestone-sphinx .parsons .block{background-color:#fafafa}.ptx-runestone-container .highlight .c1,.runestone-sphinx .highlight .c1{color:#376a7b}.ptx-runestone-container .highlight .nn,.runestone-sphinx .highlight .nn{color:#0f6c95}.ptx-runestone-container .highlight .gp,.runestone-sphinx .highlight .gp{color:#a14c08}.ptx-runestone-container .highlight .si,.runestone-sphinx .highlight .si{color:#3c773d}.ptx-runestone-container .highlight .nc,.runestone-sphinx .highlight .nc{color:#0b719d}.ptx-runestone-container ul.search li div.context,.runestone-sphinx ul.search li div.context{color:#6b6b6b}.ptx-runestone-container span.highlighted,.runestone-sphinx span.highlighted{color:#4d4d4d}.ptx-runestone-container .CodeMirror-linenumber,.runestone-sphinx .CodeMirror-linenumber{color:#6b6b6b}.ptx-runestone-container .alert-warning,.runestone-sphinx .alert-warning{background-color:var(--admonition);border-color:var(--admonitionBorder)}.ptx-runestone-container div.ExecutionVisualizer table#pyCodeOutput .lineNo,.runestone-sphinx div.ExecutionVisualizer table#pyCodeOutput .lineNo{color:#6b6b6b}.ptx-runestone-container body,.runestone-sphinx body{background-color:var(--outerBackground);counter-reset:rscomponent;padding-top:60px}.ptx-runestone-container h5,.runestone-sphinx h5{font-weight:700;padding:10px 0}.ptx-runestone-container #table-of-contents a,.runestone-sphinx #table-of-contents a{color:var(--links)}.ptx-runestone-container #table-of-contents a:hover,.runestone-sphinx #table-of-contents a:hover{color:var(--links);text-decoration:underline}.ptx-runestone-container #table-of-contents.section,.runestone-sphinx #table-of-contents.section{font-size:16px}.ptx-runestone-container .navbar-default,.runestone-sphinx .navbar-default{background-color:var(--navbar)}.ptx-runestone-container .navbar-default .navbar-nav>li,.ptx-runestone-container .navbar-default .navbar-nav>li>a,.runestone-sphinx .navbar-default .navbar-nav>li,.runestone-sphinx .navbar-default .navbar-nav>li>a{color:var(--navbarFont)}.ptx-runestone-container .navbar-default .navbar-nav>li>a:hover,.runestone-sphinx .navbar-default .navbar-nav>li>a:hover{color:var(--navbarFontHover)}.ptx-runestone-container .navbar-default .navbar-brand,.runestone-sphinx .navbar-default .navbar-brand{color:var(--navbarFont)}.ptx-runestone-container .toctree-wrapper,.runestone-sphinx .toctree-wrapper{font-size:16px}.ptx-runestone-container .toctree-wrapper a,.runestone-sphinx .toctree-wrapper a{color:var(--links)}.ptx-runestone-container .toctree-wrapper a:hover,.runestone-sphinx .toctree-wrapper a:hover{color:var(--links);text-decoration:underline}.ptx-runestone-container #index-and-search.section,.runestone-sphinx #index-and-search.section{font-size:16px}.ptx-runestone-container #index-and-search.section a,.runestone-sphinx #index-and-search.section a{color:var(--links)}.ptx-runestone-container #index-and-search.section a:hover,.runestone-sphinx #index-and-search.section a:hover{color:var(--links);text-decoration:underline}.ptx-runestone-container a,.runestone-sphinx a{color:var(--links)}@media (max-width:768px){.ptx-runestone-container body,.runestone-sphinx body{padding-top:0}.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-top{position:static}}@media (min-width:768px){.ptx-runestone-container .navbar .divider-vertical,.runestone-sphinx .navbar .divider-vertical{border-left:1px solid #f2f2f2;margin:0 3px}.ptx-runestone-container .navbar-fixed-top .container,.runestone-sphinx .navbar-fixed-top .container{padding:0}}.ptx-runestone-container div.container,.runestone-sphinx div.container{background-color:var(--background)}.ptx-runestone-container .container,.runestone-sphinx .container{padding-left:10px;padding-right:10px}.ptx-runestone-container .runestone,.runestone-sphinx .runestone{background-color:var(--componentBgColor);border-color:var(--componentBorderColor);border-radius:10px;border-style:solid;clear:both;margin-bottom:20px;margin-top:20px;padding:15px}.ptx-runestone-container #main-content section>:not(section),.runestone-sphinx #main-content section>:not(section){margin-left:auto;margin-right:auto;max-width:var(--contentWidthRegular)}.ptx-runestone-container #main-content section>.codelens,.ptx-runestone-container #main-content section>.jupyterlite_sphinx_iframe_container,.ptx-runestone-container #main-content section>.question,.ptx-runestone-container #main-content section>.runestone.ac_section,.ptx-runestone-container #main-content section>.runestone.codelens,.ptx-runestone-container #main-content section>.runestone.parsons-container,.ptx-runestone-container #main-content section>.runestone.parsons-problems,.ptx-runestone-container #main-content section>.timedAssessment,.ptx-runestone-container #main-content section>section,.runestone-sphinx #main-content section>.codelens,.runestone-sphinx #main-content section>.jupyterlite_sphinx_iframe_container,.runestone-sphinx #main-content section>.question,.runestone-sphinx #main-content section>.runestone.ac_section,.runestone-sphinx #main-content section>.runestone.codelens,.runestone-sphinx #main-content section>.runestone.parsons-container,.runestone-sphinx #main-content section>.runestone.parsons-problems,.runestone-sphinx #main-content section>.timedAssessment,.runestone-sphinx #main-content section>section{margin-left:auto;margin-right:auto;max-width:var(--contentWidthWide)}.ptx-runestone-container #main-content section>.full-width,.runestone-sphinx #main-content section>.full-width{max-width:var(--contentWidthWide)}.ptx-runestone-container .container section>img,.runestone-sphinx .container section>img{display:block;margin-left:auto;margin-right:auto}.ptx-runestone-container .container-fluid>.navbar-collapse,.ptx-runestone-container .container-fluid>.navbar-header,.ptx-runestone-container .container>.navbar-collapse,.ptx-runestone-container .container>.navbar-header,.runestone-sphinx .container-fluid>.navbar-collapse,.runestone-sphinx .container-fluid>.navbar-header,.runestone-sphinx .container>.navbar-collapse,.runestone-sphinx .container>.navbar-header{margin-left:0;margin-right:0}.ptx-runestone-container .navbar>.container .navbar-brand,.runestone-sphinx .navbar>.container .navbar-brand{margin-left:0}.ptx-runestone-container .navbar>.container,.runestone-sphinx .navbar>.container{background-color:var(--navbar)}.ptx-runestone-container .navbar-toggle,.runestone-sphinx .navbar-toggle{margin-right:0}.ptx-runestone-container .footer>.container,.runestone-sphinx .footer>.container{background-color:var(--outerBackground)}.ptx-runestone-container .footer>.container p>a,.runestone-sphinx .footer>.container p>a{color:var(--links)}.ptx-runestone-container .brand-logo,.runestone-sphinx .brand-logo{display:block;float:left;margin-top:4px}.ptx-runestone-container .brand-logo img,.runestone-sphinx .brand-logo img{height:40px}.ptx-runestone-container .social-menu,.runestone-sphinx .social-menu{padding:10px 10px 15px 20px;width:220px}.ptx-runestone-container .fb-like,.runestone-sphinx .fb-like{margin-top:7px}.ptx-runestone-container .fb_iframe_widget iframe,.ptx-runestone-container .fb_iframe_widget span,.runestone-sphinx .fb_iframe_widget iframe,.runestone-sphinx .fb_iframe_widget span{height:20px!important;width:82px!important}.ptx-runestone-container .twitter-follow-button,.runestone-sphinx .twitter-follow-button{margin-top:10px}.ptx-runestone-container .gittip,.runestone-sphinx .gittip{margin-top:8px}.ptx-runestone-container .gittip-button,.runestone-sphinx .gittip-button{margin-bottom:-6px}.ptx-runestone-container .dropdown-menu>li>div,.ptx-runestone-container .dropdown-menu>li>label,.ptx-runestone-container .dropdown-menu>li>span,.runestone-sphinx .dropdown-menu>li>div,.runestone-sphinx .dropdown-menu>li>label,.runestone-sphinx .dropdown-menu>li>span{clear:both;color:var(--grayToWhite);display:block;font-weight:700;line-height:20px;padding:3px 20px;white-space:nowrap}.ptx-runestone-container .dropdown-menu>li>label:focus,.ptx-runestone-container .dropdown-menu>li>label:hover,.runestone-sphinx .dropdown-menu>li>label:focus,.runestone-sphinx .dropdown-menu>li>label:hover{background-color:#f5f5f5;color:#262626;text-decoration:none}.ptx-runestone-container .dropdown-menu>li>a,.runestone-sphinx .dropdown-menu>li>a{color:var(--grayToWhite)}.ptx-runestone-container .loggedinuser,.runestone-sphinx .loggedinuser{font-weight:700}.ptx-runestone-container .CodeMirror,.runestone-sphinx .CodeMirror{background-color:var(--background);clear:both;margin:0 0 1em}.ptx-runestone-container .ac_section .CodeMirror pre,.runestone-sphinx .ac_section .CodeMirror pre{word-wrap:normal;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;border-radius:0;border-width:0;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:inherit;margin:0;padding:0;white-space:pre}.ptx-runestone-container btn.btn-sm,.ptx-runestone-container button.btn,.ptx-runestone-container input[type=button].btn.btn-sm,.ptx-runestone-container input[type=submit].btn.btn-sm,.runestone-sphinx btn.btn-sm,.runestone-sphinx button.btn,.runestone-sphinx input[type=button].btn.btn-sm,.runestone-sphinx input[type=submit].btn.btn-sm{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1em}.ptx-runestone-container .dropdown-menu .input-group .input-group-btn button.btn,.runestone-sphinx .dropdown-menu .input-group .input-group-btn button.btn{font-size:14px}.ptx-runestone-container .btn,.runestone-sphinx .btn{margin:5px}.ptx-runestone-container .btn.disabled,.runestone-sphinx .btn.disabled{pointer-events:auto}.ptx-runestone-container .btn-default,.ptx-runestone-container .btn-default.disabled,.ptx-runestone-container .btn-default.disabled:hover,.ptx-runestone-container .btn-default[disabled],.ptx-runestone-container .btn-default[disabled]:hover,.runestone-sphinx .btn-default,.runestone-sphinx .btn-default.disabled,.runestone-sphinx .btn-default.disabled:hover,.runestone-sphinx .btn-default[disabled],.runestone-sphinx .btn-default[disabled]:hover{background-color:var(--codeButtons);border-color:var(codeButtonsBorder);color:#fff}.ptx-runestone-container .btn-default.active,.ptx-runestone-container .btn-default:active,.ptx-runestone-container .btn-default:focus,.ptx-runestone-container .btn-default:hover,.runestone-sphinx .btn-default.active,.runestone-sphinx .btn-default:active,.runestone-sphinx .btn-default:focus,.runestone-sphinx .btn-default:hover{background-color:#3a3c3c;border-color:#2e2f2f;color:#fff}.ptx-runestone-container input[type=checkbox],.ptx-runestone-container input[type=radio],.runestone-sphinx input[type=checkbox],.runestone-sphinx input[type=radio]{margin-right:5px}.ptx-runestone-container .tooltip,.runestone-sphinx .tooltip{z-index:2000!important}.ptx-runestone-container .tooltip.in,.runestone-sphinx .tooltip.in{filter:alpha(opacity=80);opacity:.8}.ptx-runestone-container h2,.runestone-sphinx h2{margin-top:20px}.ptx-runestone-container .alert form,.runestone-sphinx .alert form{margin-bottom:0}.ptx-runestone-container .alert,.runestone-sphinx .alert{color:var(--grayToWhite);padding:10px}.ptx-runestone-container .alert-info,.runestone-sphinx .alert-info{background-color:var(--alerts)}.ptx-runestone-container .alert-danger,.runestone-sphinx .alert-danger{background-color:var(--dangerAlerts)}.ptx-runestone-container .alert-success,.runestone-sphinx .alert-success{background-color:var(--successAlerts)}.ptx-runestone-container .unittest-results.alert-danger,.runestone-sphinx .unittest-results.alert-danger{background-color:var(--dangerAlerts)!important}.ptx-runestone-container .unittest-results.alert-success,.runestone-sphinx .unittest-results.alert-success{background-color:var(--successAlerts)!important}.ptx-runestone-container .alert label,.runestone-sphinx .alert label{font-weight:400}.ptx-runestone-container .navbar_message,.runestone-sphinx .navbar_message{font-weight:700;margin-top:15px}.ptx-runestone-container dt.label>span.brackets:not(span.brackets>a),.ptx-runestone-container dt.label>span.fn-backref:not(span.fn-backref>a),.runestone-sphinx dt.label>span.brackets:not(span.brackets>a),.runestone-sphinx dt.label>span.fn-backref:not(span.fn-backref>a){color:#000}.ptx-runestone-container .admonition,.runestone-sphinx .admonition{background-color:var(--admonition);border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;margin-bottom:20px!important;margin-top:20px!important;padding:8px 35px 8px 14px!important;text-shadow:0 1px 0 hsla(0,0%,100%,.5)}.ptx-runestone-container .admonition.caution,.runestone-sphinx .admonition.caution{background-color:#f2dede;border-color:#eed3d7;color:#a33f3e}.ptx-runestone-container .admonition.note,.ptx-runestone-container .admonition.tip,.runestone-sphinx .admonition.note,.runestone-sphinx .admonition.tip{background-color:#d9edf7;border-color:#bce8f1;color:#333}.ptx-runestone-container div.flash,.runestone-sphinx div.flash{-webkit-font-smoothing:antialiased;background-color:#000;background-image:-webkit-linear-gradient(top,#222,#000);background-image:-o-linear-gradient(top,#222,#000);background-image:-moz-linear-gradient(90deg,#222,#000);background-image:linear-gradient(top,#222,#000);background-repeat:repeat-x;border:2px solid #fff;border-radius:8px;-moz-border-radius:8px;-webkit-border-radius:8px;color:#fff;cursor:pointer;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;margin:0 0 10px 10px;opacity:.95;padding:10px;position:fixed;right:45px;top:55px;vertical-align:middle;z-index:2000}.ptx-runestone-container #web2py_user_form,.runestone-sphinx #web2py_user_form{margin-top:10px}.ptx-runestone-container #web2py_user_form form,.runestone-sphinx #web2py_user_form form{float:left;margin-right:150px;padding-top:3px}.ptx-runestone-container #web2py_user_form td,.runestone-sphinx #web2py_user_form td{padding-bottom:15px}.ptx-runestone-container #web2py_user_form td.w2p_fw,.runestone-sphinx #web2py_user_form td.w2p_fw{width:299px}.ptx-runestone-container #auth-actions,.runestone-sphinx #auth-actions{margin-top:50px}.ptx-runestone-container #sign_in_text td,.runestone-sphinx #sign_in_text td{color:#333;font-family:lucida grande,Verdana,sans-serif;font-size:17px;padding-bottom:13px}.ptx-runestone-container #auth_user_remember,.runestone-sphinx #auth_user_remember{margin-top:-20px}.ptx-runestone-container #exercises>ol>li,.ptx-runestone-container #programming-exercises>ol>li,.runestone-sphinx #exercises>ol>li,.runestone-sphinx #programming-exercises>ol>li{margin-bottom:30px}.ptx-runestone-container #exercises>ol>li:nth-child(2n),.ptx-runestone-container #programming-exercises>ol>li:nth-child(2n),.runestone-sphinx #exercises>ol>li:nth-child(2n),.runestone-sphinx #programming-exercises>ol>li:nth-child(2n){background:#faf7df;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;padding:1.2em 1.4em}.ptx-runestone-container .scratch-ac-modal,.runestone-sphinx .scratch-ac-modal{max-height:90%;overflow-y:scroll;width:90%}.ptx-runestone-container .compare-modal .progress,.runestone-sphinx .compare-modal .progress{margin-bottom:0}.ptx-runestone-container .compare-me-progress,.runestone-sphinx .compare-me-progress{width:100%}.ptx-runestone-container .compare-me-progress .progress-bar,.ptx-runestone-container .unittest-results-progress .progress-bar,.runestone-sphinx .compare-me-progress .progress-bar,.runestone-sphinx .unittest-results-progress .progress-bar{color:#333}.ptx-runestone-container .unittest-results-progress,.runestone-sphinx .unittest-results-progress{width:25%}.ptx-runestone-container .compare-modal,.runestone-sphinx .compare-modal{width:350px}.ptx-runestone-container .compare-modal table,.runestone-sphinx .compare-modal table{border-collapse:separate;border-spacing:10px 5px}.ptx-runestone-container .codelens-modal,.runestone-sphinx .codelens-modal{bottom:auto;left:auto;right:20%;top:20%}@media (max-width:768px){.ptx-runestone-container .codelens-modal,.runestone-sphinx .codelens-modal{bottom:0!important;left:0!important;right:0!important;top:0!important}}.ptx-runestone-container .codelens-modal>.modal-dialog,.runestone-sphinx .codelens-modal>.modal-dialog{width:400px}.ptx-runestone-container .footnote.table,.runestone-sphinx .footnote.table{margin-bottom:10px;width:auto}.ptx-runestone-container .footnote.table td.label,.runestone-sphinx .footnote.table td.label{background-color:#d9edf7;padding:2px 5px}.ptx-runestone-container .ac-canvas,.runestone-sphinx .ac-canvas{background-color:#fff;display:inline-block}.ptx-runestone-container .video-play-overlay,.runestone-sphinx .video-play-overlay{background-position:50%;background-repeat:no-repeat;height:85px;left:44%;position:relative;top:-150px;width:130px}.ptx-runestone-container .video_popup video,.runestone-sphinx .video_popup video{cursor:pointer;width:var(--contentWidthRegular)}.ptx-runestone-container .ui-sortable-helper,.runestone-sphinx .ui-sortable-helper{height:auto!important;width:auto!important}.ptx-runestone-container .navLink,.runestone-sphinx .navLink{bottom:65px;display:inline;opacity:.4;position:fixed;z-index:2}.ptx-runestone-container .navLink:hover,.runestone-sphinx .navLink:hover{opacity:1}.ptx-runestone-container .navLink a,.runestone-sphinx .navLink a{background-color:#fff;border:2px solid #d3d3d3;display:inline-block;height:50px;width:100px}.ptx-runestone-container #relations-next,.runestone-sphinx #relations-next{right:35px}.ptx-runestone-container #relations-prev,.runestone-sphinx #relations-prev{left:35px}.ptx-runestone-container .nextprev-list,.runestone-sphinx .nextprev-list{height:50px;margin:10px;padding-left:0}@media (max-width:600px){.ptx-runestone-container .navLink,.runestone-sphinx .navLink{bottom:auto;display:inline-block;position:absolute}.ptx-runestone-container #relations-next,.ptx-runestone-container #relations-prev,.runestone-sphinx #relations-next,.runestone-sphinx #relations-prev{display:inline;padding:0 20px;width:25%}}.ptx-runestone-container #completionButton,.runestone-sphinx #completionButton{color:var(--completionButtonText);font-weight:700;margin-bottom:15px;margin-top:25px;padding-left:70px;padding-right:70px}.ptx-runestone-container .buttonAskCompletion,.runestone-sphinx .buttonAskCompletion{background-color:var(--completionButton);border-color:var(--completionButtonHover);font-weight:700}.ptx-runestone-container .buttonAskCompletion:hover,.runestone-sphinx .buttonAskCompletion:hover{background-color:var(--completionButtonHover);border-color:var(--completionButtonHover)}.ptx-runestone-container .buttonConfirmCompletion,.runestone-sphinx .buttonConfirmCompletion{background-color:#377e22;border-color:#3dc682;color:#fff!important}.ptx-runestone-container .buttonConfirmCompletion:hover,.runestone-sphinx .buttonConfirmCompletion:hover{background-color:#3dc682;border-color:#3dc682}.ptx-runestone-container .navLinkBg,.runestone-sphinx .navLinkBg{background-color:#fff;bottom:55px;-webkit-box-shadow:0 0 3px rgba(50,50,50,.5);-moz-box-shadow:0 0 3px rgba(50,50,50,.5);box-shadow:0 0 3px rgba(50,50,50,.5);color:#999;font-weight:700;height:40px;position:fixed;z-index:1}.ptx-runestone-container .navLinkBg:hover,.runestone-sphinx .navLinkBg:hover{color:#999}.ptx-runestone-container #navLinkBgRight,.runestone-sphinx #navLinkBgRight{padding:10px 15px 0 65px;right:-1000px}.ptx-runestone-container #navLinkBgLeft,.runestone-sphinx #navLinkBgLeft{left:-65px;padding-left:15px;padding-right:50px}.ptx-runestone-container .activehtml,.runestone-sphinx .activehtml{background-color:#fff;height:400px;width:100%}.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 0 .5em 1em}.ptx-runestone-container a.disqus_thread_link,.runestone-sphinx a.disqus_thread_link{display:block}.ptx-runestone-container .reveal_button,.runestone-sphinx .reveal_button{display:block;margin-left:0}.ptx-runestone-container iframe[seamless],.runestone-sphinx iframe[seamless]{display:block}@media (min-width:768px){.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 3em .5em 1em}}@media (min-width:992px){.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 11em .5em 1em}}@media (min-width:1200px){.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 18em .5em 1em}}.ptx-runestone-container div.ExecutionVisualizer table.visualizer,.runestone-sphinx div.ExecutionVisualizer table.visualizer{background-color:#fff;margin-left:auto;margin-right:auto;width:auto}.ptx-runestone-container .sltooltip,.runestone-sphinx .sltooltip{bottom:120%;display:block;font-size:11px;margin-left:-2em;margin-top:-2px;padding-bottom:5px;position:absolute;visibility:visible;z-index:1020}.ptx-runestone-container .sltooltip .sltooltip-arrow,.runestone-sphinx .sltooltip .sltooltip-arrow{border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000;bottom:0;height:0;left:50%;margin-left:-5px;position:absolute;width:0}.ptx-runestone-container .sltooltip-inner,.runestone-sphinx .sltooltip-inner{background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;color:var(--tooltip);max-width:200px;padding:3px 8px;text-align:center;text-decoration:none}.ptx-runestone-container ul.dropdown-menu.globaltoc,.runestone-sphinx ul.dropdown-menu.globaltoc{max-height:700px;overflow:auto}.ptx-runestone-container .globaltoc span.caption-text,.runestone-sphinx .globaltoc span.caption-text{display:inline-block;font-size:large;font-weight:700}.ptx-runestone-container textarea.lp-result,.runestone-sphinx textarea.lp-result{font-family:monospace;height:10em;width:100%}.ptx-runestone-container .visuallyhidden,.runestone-sphinx .visuallyhidden{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ptx-runestone-container .visuallyhidden.focusable:active,.ptx-runestone-container .visuallyhidden.focusable:focus,.runestone-sphinx .visuallyhidden.focusable:active,.runestone-sphinx .visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;white-space:inherit;width:auto}.ptx-runestone-container .blockquote,.runestone-sphinx .blockquote{font-size:large;font-style:italic;padding-left:2em;padding-right:2em;text-align:center}.ptx-runestone-container #subchapterprogress.ui-progressbar .ui-progressbar-value,.runestone-sphinx #subchapterprogress.ui-progressbar .ui-progressbar-value{border-radius:0;margin:0}.ptx-runestone-container #subchapterprogress>div,.runestone-sphinx #subchapterprogress>div{background:green}.ptx-runestone-container #subchapterprogress>div.loggedout,.runestone-sphinx #subchapterprogress>div.loggedout{background:#d3d3d3}.ptx-runestone-container .runestone_caption,.runestone-sphinx .runestone_caption{text-align:center}.ptx-runestone-container .runestone_caption_divid,.runestone-sphinx .runestone_caption_divid{opacity:50%}.ptx-runestone-container #questions .runestone_caption:before,.runestone-sphinx #questions .runestone_caption:before{content:"Problem: " counter(rscomponent) " -- ";counter-increment:rscomponent}.ptx-runestone-container body,.runestone-sphinx body{color:var(--bodyFont)}.ptx-runestone-container .jupyter_container .output,.runestone-sphinx .jupyter_container .output{margin-top:10px}.ptx-runestone-container .jupyter_container .output td,.ptx-runestone-container .jupyter_container .output th,.runestone-sphinx .jupyter_container .output td,.runestone-sphinx .jupyter_container .output th{padding-left:5px;padding-right:5px}.ptx-runestone-container .dropdown-menu>li>label.theme-switch,.runestone-sphinx .dropdown-menu>li>label.theme-switch{align-items:center;cursor:pointer;display:flex;font-weight:400}.ptx-runestone-container .theme-switch input,.runestone-sphinx .theme-switch input{display:none}.ptx-runestone-container .theme-switch .slider,.runestone-sphinx .theme-switch .slider{background-color:#ccc;height:1.25em;margin-right:3px;position:relative;transition:.4s;width:2em}.ptx-runestone-container .theme-switch .slider:before,.runestone-sphinx .theme-switch .slider:before{background-color:#fff;bottom:2px;content:"";height:calc(1.25em - 4px);left:2px;position:absolute;transition:.4s;width:calc(1.25em - 4px)}.ptx-runestone-container .theme-switch input:checked+.slider,.runestone-sphinx .theme-switch input:checked+.slider{background-color:#66bb6a}.ptx-runestone-container .theme-switch input:checked+.slider:before,.runestone-sphinx .theme-switch input:checked+.slider:before{transform:translateX(calc(.75em - 1px))}.ptx-runestone-container .theme-switch .slider.round,.ptx-runestone-container .theme-switch .slider.round:before,.runestone-sphinx .theme-switch .slider.round,.runestone-sphinx .theme-switch .slider.round:before{border-radius:1.25em}.ptx-runestone-container .adcopy,.runestone-sphinx .adcopy{background-color:#f2e0c3;border:2px solid #000;border-radius:10px;margin-left:auto;margin-right:auto;margin-top:10px;padding:10px;width:60%}.ptx-runestone-container .adcopy .donateb,.runestone-sphinx .adcopy .donateb{margin-left:30%}.ptx-runestone-container .isCorrect:before,.runestone-sphinx .isCorrect:before{content:"✅ ";float:right;padding-left:4px}.ptx-runestone-container .isInCorrect:before,.runestone-sphinx .isInCorrect:before{content:"⚠️ ";float:right;padding-left:4px}.ptx-runestone-container pre,.runestone-sphinx pre{background:inherit;color:inherit}.ptx-runestone-container summary.ptx-footnote__number,.runestone-sphinx summary.ptx-footnote__number{display:inline}.ptx-runestone-container summary.knowl__link,.runestone-sphinx summary.knowl__link{display:list-item inline}.ptx-runestone-container details.ptx-footnote,.runestone-sphinx details.ptx-footnote{display:inline}.ptx-runestone-container .handsontable td,.ptx-runestone-container .handsontable th,.runestone-sphinx .handsontable td,.runestone-sphinx .handsontable th{background-color:var(--content-background,#fff);color:var(--bodyFont,#000)}.ptx-runestone-container legend,.runestone-sphinx legend{border-bottom-color:var(--grayToWhite,#333);color:var(--grayToWhite,#333)}.ptx-runestone-container .autopermalink,.runestone-sphinx .autopermalink{display:none}.ptx-runestone-container :root,.runestone-sphinx :root{--codebuttons:#474949}.ptx-runestone-container [data-theme=dark],.runestone-sphinx [data-theme=dark]{--codebuttons:#2c0aa6}.ptx-runestone-container li.dropdown.open a.dropdown-toggle,.ptx-runestone-container li.dropdown.open a.dropdown-toggle:focus,.runestone-sphinx li.dropdown.open a.dropdown-toggle,.runestone-sphinx li.dropdown.open a.dropdown-toggle:focus{background-color:#2a5659!important;border:0!important;color:#f8f8f8!important}.ptx-runestone-container a.dropdown-toggle:focus,.runestone-sphinx a.dropdown-toggle:focus{background-color:#52a6ac!important;color:#f8f8f8!important}.ptx-runestone-container li.divider-vertical,.runestone-sphinx li.divider-vertical{margin:0!important}.ptx-runestone-container li.dropdown a.dropdown-toggle,.runestone-sphinx li.dropdown a.dropdown-toggle{padding:15px 18px!important}.ptx-runestone-container button.btn.btn-default:active,.ptx-runestone-container button.btn.btn-default:focus,.runestone-sphinx button.btn.btn-default:active,.runestone-sphinx button.btn.btn-default:focus{background-color:#fff!important;color:#474949!important}.ptx-runestone-container button.btn.btn-default,.runestone-sphinx button.btn.btn-default{background-color:#474949!important;color:#fff!important}.ptx-runestone-container button.btn.btn-default.btn-sm.disabled:active,.ptx-runestone-container button.btn.btn-default.btn-sm.disabled:focus,.runestone-sphinx button.btn.btn-default.btn-sm.disabled:active,.runestone-sphinx button.btn.btn-default.btn-sm.disabled:focus{background-color:#fff!important;color:#474949!important}.ptx-runestone-container button.btn.btn-default.btn-sm.disabled,.runestone-sphinx button.btn.btn-default.btn-sm.disabled{background-color:#474949!important;color:#fff!important}.ptx-runestone-container button.btn.btn-success:active,.ptx-runestone-container button.btn.btn-success:focus,.runestone-sphinx button.btn.btn-success:active,.runestone-sphinx button.btn.btn-success:focus{background-color:#fff!important;color:#427e44!important}.ptx-runestone-container button.btn.btn-success,.runestone-sphinx button.btn.btn-success{background-color:#427e44!important;color:#fff!important}.ptx-runestone-container button.btn.btn-primary:active,.ptx-runestone-container button.btn.btn-primary:focus,.runestone-sphinx button.btn.btn-primary:active,.runestone-sphinx button.btn.btn-primary:focus{background-color:#fff!important;color:#3379b6!important}.ptx-runestone-container button.btn.btn-primary,.runestone-sphinx button.btn.btn-primary{background-color:#3379b6!important;color:#fff!important}.ptx-runestone-container button.btn.btn-info:active,.ptx-runestone-container button.btn.btn-info:focus,.runestone-sphinx button.btn.btn-info:active,.runestone-sphinx button.btn.btn-info:focus{background-color:#fff!important;color:#1a6a83!important}.ptx-runestone-container button.btn.btn-info,.runestone-sphinx button.btn.btn-info{background-color:#1a6a83!important;color:#fff!important}.ptx-runestone-container button.btn.btn-warning:active,.ptx-runestone-container button.btn.btn-warning:focus,.runestone-sphinx button.btn.btn-warning:active,.runestone-sphinx button.btn.btn-warning:focus{background-color:#fff!important;color:#945c0e!important}.ptx-runestone-container button.btn.btn-warning,.runestone-sphinx button.btn.btn-warning{background-color:#945c0e!important;color:#fff!important}.ptx-runestone-container button.btn.btn-danger:active,.ptx-runestone-container button.btn.btn-danger:focus,.runestone-sphinx button.btn.btn-danger:active,.runestone-sphinx button.btn.btn-danger:focus{background-color:#fff!important;color:#d33a35!important}.ptx-runestone-container button.btn.btn-danger,.runestone-sphinx button.btn.btn-danger{background-color:#d33a35!important;color:#fff!important}.ptx-runestone-container button.btn.btn-link:active,.ptx-runestone-container button.btn.btn-link:focus,.runestone-sphinx button.btn.btn-link:active,.runestone-sphinx button.btn.btn-link:focus{background-color:#1a6a83!important;color:#fff!important}.ptx-runestone-container button.btn.btn-link,.runestone-sphinx button.btn.btn-link{background-color:#fff!important;color:#1a6a83!important}:root{--background:#fff;--outerBackground:#eee;--links:#0645ad;--bodyFont:var(--body-text-color,#000);--tooltip:#fff;--grayToWhite:#333;--navbar:#f8f8f8;--navbarFont:#707070;--navbarFontHover:#000;--alerts:#d9edf7;--completionButton:#f19711;--completionButtonHover:#ff9f19;--completionButtonText:#000;--admonition:#fcf8e3;--admonitionBorder:#fbeed5;--codeButtons:#474949;--codeButtonsBorder:#474949;--dangerAlerts:#f2dede;--successAlerts:#dff0d8;--contentWidthRegular:660px;--contentWidthWide:1060px;--componentBgColor:#f0f8ff;--componentBorderColor:#000;--questionBgColor:#e1efff;--parsonsBgColor:#ffa;--parsonsBorderColor:#ee0;--parsonsCorrectBgColor:#dff0d8;--parsonsCorrectBorderColor:#ade595;--parsonsIncorrectBgColor:#f2dede;--parsonsIncorrectBorderColor:#f2b6b6}:root.dark-mode{--background:#2c2f33;--outerBackground:#23272a;--links:#7289da;--bodyFont:var(--body-text-color,#99aab5);--tooltip:#000;--grayToWhite:#aaa;--navbar:#3d3d3d;--navbarFont:#fff;--navbarFontHover:#d6d6d6;--alerts:#714082;--completionButton:#650087;--completionButtonHover:#560073;--completionButtonText:#fff;--admonition:#3d3d3d;--admonitionBorder:#262626;--codeButtons:#67739d;--codeButtonsBorder:#fff;--dangerAlerts:#8c2626;--successAlerts:#217300;--componentBgColor:var(--rs-component-bg,var(--knowl-background,#07467d));--componentBorderColor:var(--rs-component-border,var(--knowl-border-color,#939090));--questionBgColor:var(--rs-component-bg,var(--knowl-nested-1-background,#0f5a9b));--parsonsBgColor:#e8e8b2;--parsonsBorderColor:#a8a82d;--parsonsCorrectBgColor:#a3c097;--parsonsCorrectBorderColor:#60904c;--parsonsIncorrectBgColor:#ae9090;--parsonsIncorrectBorderColor:#c16b6b}[data-theme=dark]{--background:#2c2f33;--outerBackground:#23272a;--links:#7289da;--bodyFont:#99aab5;--tooltip:#000;--grayToWhite:#fff;--navbar:#3d3d3d;--navbarFont:#fff;--navbarFontHover:#d6d6d6;--alerts:#714082;--completionButton:#650087;--completionButtonHover:#560073;--completionButtonText:#fff;--admonition:#3d3d3d;--admonitionBorder:#262626;--codeButtons:#7289da;--codeButtonsBorder:#fff;--dangerAlerts:#8c2626;--successAlerts:#217300;--componentBgColor:#07467d;--componentBorderColor:#939090;--questionBgColor:#17555d}#scprogresscontainer{margin:10px auto;max-width:500px;width:100%}#subchapterprogress{background-color:var(--alerts);border:1px solid var(--grayToWhite);border-radius:5px;height:20px;position:relative;width:100%}.exercise-statement{display:block;margin-bottom:1em}:root{--menu:#fff}[data-theme=dark]{--menu:#000}.my-highlighted-text{background-color:#ff9}.social-highlighted-text{background-color:#fcc}.highlight-option-box{left:0;position:absolute;top:0}.highlight-option-box li{height:24px}#continue-reading{display:none;padding-top:20px}#continue-reading a{float:right;margin-right:20px}li.completed{list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAO5JREFUeNpi/P//PwMlgImBQjAwBthc4osH4skgNguJGrmA1BQgjgPiUJIMAGpWBVKrgNgAiL2P6H3aRrQBQM12QGo1EIsBcQxMM0oYABXxAjETFs2+QGobVHM9UPNSjEAEKgoEUjeBuBhNcwDUZm4gXg/U3IRuAcwLSkAsCcRdQE16QDoRiG2BGGQbOxA/BOIcbN5jhKVEoMYiINULFT8PxCJALAvlhwBtX4vXAKghpSBXoKlZCtQcQ1RCAirsBlJVSEIfgLiRpJQINKQdSNVCuTOB/Nt44xjkBWzY+iJvGRBr4pKHYUZKszNAgAEAln9yGpx/ZXMAAAAASUVORK5CYII=)}li.active{list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIlJREFUeNpi/P//PwMlgImBQjAMDGCBsxZIkaYz4RmaAZhAHYjNoOxTQHwTvwsQgAeIe4E4DU18FhAXAPF3QgbMB+IQLOIgA4WAOBRfIOri0AwDIDktfAbYEBF89jRNB0eI0HMEnwGXgXgNHs1roGrweiERGmUMWKIxkZh08AWI04G4j5iEBBBgAPddF58mobqdAAAAAElFTkSuQmCC)}.infoTextCompleted{color:#3dc682}.infoTextActive,.infoTextCompleted{display:none;font-size:.9em;font-style:italic;margin-left:10px;opacity:.7}.infoTextActive{color:#ff9f19}.dropdown-menu{background-clip:padding-box;background-color:var(--menu);border:1px solid rgba(0,0,0,.2);border-radius:5px 5px 5px 5px;box-shadow:0 5px 10px rgba(0,0,0,.2);display:none;list-style:none outside none;margin:1px 0 0;min-width:160px;padding:4px 0;position:absolute;top:100%;z-index:1000}.dropdown-menu ul{list-style:disc none outside;margin:0 0 9px 25px;padding:0}.sidebar-highlights{background-color:#ff9}div.documentwrapper{border:0}div.bodywrapper{border-right:0}div.sphinxsidebar{border-left:1px solid #ccc;padding-left:10px}.body>.section .section{padding-top:1px}#jump-to-chapter{border:1px solid #ccc;letter-spacing:.015em;line-height:120%;margin-left:auto;margin-right:auto;padding:.5em;width:80%}#navigation-links{background-color:#f8f8f8;border:1px solid #ccc;margin:10px;padding:10px}.matrixeq_container{margin:0 0 6px;padding:6px}span.matrix_table{border:2px solid #000;margin:0 0 4px;overflow:visible;padding:0 1px;text-align:center}span.matrix_column,span.matrix_table{background-color:inherit;display:inline-table}span.matrix_column{border-width:0;font-family:monospace;font-size:12px;margin:0 1px;padding:2px 8px;vertical-align:middle}span.matrix_column div{background-color:inherit;display:block;margin:1px;padding:2px}span.matrix_table .matrix_column{border-style:none;margin-left:5px;margin-right:5px}span.matrix_table:before{top:-2px}span.matrix_table:after,span.matrix_table:before{background-color:inherit;content:" ";display:block;height:2px;margin:0 auto;position:relative;text-align:center;width:85%;z-index:100}span.matrix_table:after{top:2px}span.matrix_column:before{top:-2px}span.matrix_column:after,span.matrix_column:before{content:" ";display:block;height:2px;position:relative;width:85%;z-index:100}span.matrix_column:after{top:2px}span.matrix_table span.matrix_column:after,span.matrix_table span.matrix_column:before{height:0}span.matrix_table input[type=text]{appearance:none;background-color:inherit;box-shadow:none;display:block;font-family:sans-serif;font-size:12px;height:24px;margin:0;text-align:right;width:50px}span.matrix_operator{font-family:monospace;font-size:18px;margin:0 4px;padding:0}span.matrix_label,span.matrix_operator{display:inline-table;vertical-align:middle}span.matrix_label{font-family:sans-serif;font-size:12px;margin:0 1px;padding:0 0 0 20px}.lightcyanColor{background-color:#e0ffff}.lightgreyColor{background-color:#d3d3d3}.purpleColor{background-color:#dfb5e8}.yellowColor{background-color:#fdff9d}.webgl_container{background-color:#fcf8e3;display:block;margin-bottom:1em}.webgl_cmds,.webgl_container{box-sizing:border-box;width:100%}.webgl_cmds{padding:6px;text-align:center}.webgl_row2{box-sizing:border-box;display:block;height:550px;padding:0 4px;width:100%}.webgl_canvas,.webgl_editors{box-sizing:border-box;display:block;float:left;visibility:visible;width:50%}.webgl_canvas{font-size:12px;font-weight:400;padding-left:5px}.webgl_output{box-sizing:border-box;float:left;margin-top:6px;padding:4px;width:100%}.webgl_nav_tabs{background-color:#cfccb8;border-color:#fbeed5;display:inline-flex;height:31px;margin:0;overflow:hidden;padding:6px 0 0;width:100%}.webgl_nav_tabs,.webgl_nav_tabs li{border-top-left-radius:4px;border-top-right-radius:4px;list-style-type:none}.webgl_nav_tabs li{background-color:#e6e2cc;float:left;font-size:9pt;margin:0 0 0 4px;padding:4px 1px 4px 4px;position:relative}.webgl_nav_tabs li>a{color:#555;padding:8px;text-decoration:none}.webgl_nav_tabs>li>a:hover{border-bottom-width:0;border-color:#b4b19d}.webgl_nav_tabs li.active{background-color:#fff;list-style-image:none;list-style-type:none}.webgl_tab_content{background-color:#fcf8e3;border:0;clear:both;color:#c09853;margin:0 0 20px;position:absolute;width:100%;z-index:1}.webgl_tab_content.active{z-index:2}.webgl_tab_content>*{margin-left:auto;margin-right:auto}.webgl_tab_content .clearfix{position:static}.webgl_tab_editor{background-color:#fcf8e3;border:0;clear:both;color:#c09853;margin:0 0 20px;padding:10px 4px;position:absolute;width:100%}.webgl_code{float:left;width:100%}.webgl_tab_contents_text{background-color:#fcf8e3;border:0;clear:both;color:#c09853;margin:0 0 20px;padding:10px 4px;position:absolute;width:100%;z-index:1}.webgl_errorMessages{color:red}.webgl_warningMessages{color:#aa22a4}.webgl_infoMessages{color:#189040}.webgl_output_div{background-color:#fff;border:1px solid #d3d3d3;font-size:12px;font-weight:400;height:14em;margin:2px;overflow:auto;padding-bottom:4px;padding-left:4px;padding-top:4px;width:100%}.webgl_editor_highlight{background-color:#eee}.webgl_btn{background-color:thistle;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-block;font-size:12px;font-weight:400;margin-bottom:0;padding:3px 6px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.webgl_tabbed_editor{font-family:monospace,sans-serif;font-size:9pt;font-style:normal;resize:none;width:100%}.canvas3D{height:100%;width:100%}.CodeMirror.webgl-default{border:1px solid #eee;font-family:monospace,sans-serif;font-size:8pt;font-style:normal}button.btn.webgl-default{font-size:8pt}.runestone-sphinx .hidden{display:none}.runestone-sphinx .view-toggle{padding:.85em}.runestone-sphinx .presentation-mode section *{display:none}.runestone-sphinx .presentation-mode section .runestone,.runestone-sphinx .presentation-mode section .runestone *{display:initial}.runestone-sphinx .full-height,.runestone-sphinx .present{height:100vh}.runestone-sphinx .bottom{bottom:0;position:absolute}.runestone-sphinx #codeDisplayDiv{width:auto!important}.runestone-sphinx div.ExecutionVisualizer #dataViz{margin:0}.runestone-sphinx div.ExecutionVisualizer div#stackHeader{text-align:center}.runestone-sphinx #stackFrame{display:block!important}.runestone-sphinx #stackHeapTable{width:100%}.runestone-sphinx #stackHeapTable tr{justify-content:space-around}.runestone-sphinx div.ExecutionVisualizer td#heap_td,.runestone-sphinx div.ExecutionVisualizer td#stack_td{flex:1}.runestone-sphinx .presentation-title{display:none}.runestone-sphinx .present .presentation-title{display:block}.runestone-sphinx div.ExecutionVisualizer div#heap{float:none;padding-left:0}.runestone-sphinx #heap_td tr,.runestone-sphinx #stack_td tr{display:table-row}.runestone-sphinx #codeDisplayDiv{margin:0 auto}.runestone-sphinx #vizLayoutTd{flex:1}.runestone-sphinx #vizLayoutTdFirst{flex:2}.runestone-sphinx #vizLayoutTdSecond{flex:1}.runestone-sphinx #vizLayoutTdThird{flex:2}.runestone-sphinx #progOutputs{display:block!important;margin:0 20px;width:60%}.runestone-sphinx #pyStdout{width:100%!important}.runestone-sphinx div.ExecutionVisualizer #pyStdout{margin-bottom:1em}.runestone-sphinx div.ExecutionVisualizer table.visualizer{width:100%}.runestone-sphinx .present #vizLayoutTdThird{text-align:left}.runestone-sphinx .ac-block{display:flex;margin-bottom:1em}.runestone-sphinx .row-mode .ac-block{display:block;margin-bottom:0}.runestone-sphinx .row-mode .ac_code_div,.runestone-sphinx .row-mode .ac_output{display:block;float:none;max-width:none;width:auto}.runestone-sphinx .row-mode .ac_code_div{margin-bottom:1em}.runestone-sphinx .ac_section>*{max-width:100%}.runestone-sphinx .ac_output{display:block;max-width:100%}.runestone-sphinx .ac_output pre{min-height:60px;visibility:visible!important}.runestone-sphinx .CodeMirror{border-radius:3px;margin:0;max-width:100%;min-height:60px}.runestone-sphinx .container section>runestone:not(.ac_section){margin:0;max-width:none}.runestone-sphinx .presentation-options{align-items:center;display:flex;justify-content:flex-end}.runestone-sphinx .layout-btn{align-items:center;background-color:#fbeed5;border:2px solid #dfd4be;border-radius:2px;display:flex;justify-content:center;margin:0 .5rem;padding:.25rem;transition:all .2s ease}.runestone-sphinx .layout-btn.active-layout,.runestone-sphinx .layout-btn:focus{border:2px solid #979797;outline:none}.runestone-sphinx .sketchpad-container{min-height:300px;min-width:50%;padding:0 15px}.runestone-sphinx .card-mode .sketchpad-container{display:inline-block;margin:0;vertical-align:top;width:50%}.runestone-sphinx .row-mode .error{margin:20px 15px}.runestone-sphinx .card-mode .error{display:inline-block;margin:28px 0 0;padding:0 15px;vertical-align:top;width:50%}.runestone-sphinx .sketchpad{background:#fff;border:2px solid grey;border-radius:3px;display:block;min-height:300px;width:100%}.runestone-sphinx .btn-presenter{border-radius:3px;font-weight:500;margin:1.5rem 0 1.5rem 1.5rem;padding:.5rem 1rem}.runestone-sphinx .btn-grey-outline{background:#fff;border:2px solid grey;color:grey}.runestone-sphinx .btn-grey-solid{background:grey;border:2px solid grey;color:#fff}.runestone-sphinx body.present .ac_section>*{max-width:none}.runestone-sphinx body.present iframe{width:100%}.runestone-sphinx body.present #relations-next,.runestone-sphinx body.present #relations-prev,.runestone-sphinx body.present .navLinkBg{display:none}.runestone-sphinx body.present .btn-presenter{position:absolute}.runestone-sphinx body.present .btn-presenter.prev-exercise{left:0}.runestone-sphinx body.present .btn-presenter.next-exercise{right:0} -/*# sourceMappingURL=prefix-runestone.f4ab138da65f4203.css.map*/ \ No newline at end of file + /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */}.ptx-runestone-container html,.runestone-sphinx html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;font-family:sans-serif}.ptx-runestone-container body,.runestone-sphinx body{margin:0}.ptx-runestone-container article,.ptx-runestone-container aside,.ptx-runestone-container details,.ptx-runestone-container figcaption,.ptx-runestone-container figure,.ptx-runestone-container footer,.ptx-runestone-container header,.ptx-runestone-container hgroup,.ptx-runestone-container main,.ptx-runestone-container menu,.ptx-runestone-container nav,.ptx-runestone-container section,.ptx-runestone-container summary,.runestone-sphinx article,.runestone-sphinx aside,.runestone-sphinx details,.runestone-sphinx figcaption,.runestone-sphinx figure,.runestone-sphinx footer,.runestone-sphinx header,.runestone-sphinx hgroup,.runestone-sphinx main,.runestone-sphinx menu,.runestone-sphinx nav,.runestone-sphinx section,.runestone-sphinx summary{display:block}.ptx-runestone-container audio,.ptx-runestone-container canvas,.ptx-runestone-container progress,.ptx-runestone-container video,.runestone-sphinx audio,.runestone-sphinx canvas,.runestone-sphinx progress,.runestone-sphinx video{display:inline-block;vertical-align:baseline}.ptx-runestone-container audio:not([controls]),.runestone-sphinx audio:not([controls]){display:none;height:0}.ptx-runestone-container [hidden],.ptx-runestone-container template,.runestone-sphinx [hidden],.runestone-sphinx template{display:none}.ptx-runestone-container a,.runestone-sphinx a{background-color:transparent}.ptx-runestone-container a:active,.ptx-runestone-container a:hover,.runestone-sphinx a:active,.runestone-sphinx a:hover{outline:0}.ptx-runestone-container abbr[title],.runestone-sphinx abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}.ptx-runestone-container b,.ptx-runestone-container strong,.runestone-sphinx b,.runestone-sphinx strong{font-weight:700}.ptx-runestone-container dfn,.runestone-sphinx dfn{font-style:italic}.ptx-runestone-container h1,.runestone-sphinx h1{font-size:2em;margin:.67em 0}.ptx-runestone-container mark,.runestone-sphinx mark{background:#ff0;color:#000}.ptx-runestone-container small,.runestone-sphinx small{font-size:80%}.ptx-runestone-container sub,.ptx-runestone-container sup,.runestone-sphinx sub,.runestone-sphinx sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.ptx-runestone-container sup,.runestone-sphinx sup{top:-.5em}.ptx-runestone-container sub,.runestone-sphinx sub{bottom:-.25em}.ptx-runestone-container img,.runestone-sphinx img{border:0}.ptx-runestone-container svg:not(:root),.runestone-sphinx svg:not(:root){overflow:hidden}.ptx-runestone-container figure,.runestone-sphinx figure{margin:1em 40px}.ptx-runestone-container hr,.runestone-sphinx hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}.ptx-runestone-container pre,.runestone-sphinx pre{overflow:auto}.ptx-runestone-container code,.ptx-runestone-container kbd,.ptx-runestone-container pre,.ptx-runestone-container samp,.runestone-sphinx code,.runestone-sphinx kbd,.runestone-sphinx pre,.runestone-sphinx samp{font-family:monospace,monospace;font-size:1em}.ptx-runestone-container button,.ptx-runestone-container input,.ptx-runestone-container optgroup,.ptx-runestone-container select,.ptx-runestone-container textarea,.runestone-sphinx button,.runestone-sphinx input,.runestone-sphinx optgroup,.runestone-sphinx select,.runestone-sphinx textarea{color:inherit;font:inherit;margin:0}.ptx-runestone-container button,.runestone-sphinx button{overflow:visible}.ptx-runestone-container button,.ptx-runestone-container select,.runestone-sphinx button,.runestone-sphinx select{text-transform:none}.ptx-runestone-container button,.ptx-runestone-container html input[type=button],.ptx-runestone-container input[type=reset],.ptx-runestone-container input[type=submit],.runestone-sphinx button,.runestone-sphinx html input[type=button],.runestone-sphinx input[type=reset],.runestone-sphinx input[type=submit]{-webkit-appearance:button;cursor:pointer}.ptx-runestone-container button[disabled],.ptx-runestone-container html input[disabled],.runestone-sphinx button[disabled],.runestone-sphinx html input[disabled]{cursor:default}.ptx-runestone-container button::-moz-focus-inner,.ptx-runestone-container input::-moz-focus-inner,.runestone-sphinx button::-moz-focus-inner,.runestone-sphinx input::-moz-focus-inner{border:0;padding:0}.ptx-runestone-container input,.runestone-sphinx input{line-height:normal}.ptx-runestone-container input[type=checkbox],.ptx-runestone-container input[type=radio],.runestone-sphinx input[type=checkbox],.runestone-sphinx input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}.ptx-runestone-container input[type=number]::-webkit-inner-spin-button,.ptx-runestone-container input[type=number]::-webkit-outer-spin-button,.runestone-sphinx input[type=number]::-webkit-inner-spin-button,.runestone-sphinx input[type=number]::-webkit-outer-spin-button{height:auto}.ptx-runestone-container input[type=search],.runestone-sphinx input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ptx-runestone-container input[type=search]::-webkit-search-cancel-button,.ptx-runestone-container input[type=search]::-webkit-search-decoration,.runestone-sphinx input[type=search]::-webkit-search-cancel-button,.runestone-sphinx input[type=search]::-webkit-search-decoration{-webkit-appearance:none}.ptx-runestone-container fieldset,.runestone-sphinx fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}.ptx-runestone-container textarea,.runestone-sphinx textarea{overflow:auto}.ptx-runestone-container optgroup,.runestone-sphinx optgroup{font-weight:700}.ptx-runestone-container table,.runestone-sphinx table{border-collapse:collapse;border-spacing:0}.ptx-runestone-container td,.ptx-runestone-container th,.runestone-sphinx td,.runestone-sphinx th{padding:0}@media print{.ptx-runestone-container *,.ptx-runestone-container :after,.ptx-runestone-container :before,.runestone-sphinx *,.runestone-sphinx :after,.runestone-sphinx :before{background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}.ptx-runestone-container a,.ptx-runestone-container a:visited,.runestone-sphinx a,.runestone-sphinx a:visited{text-decoration:underline}.ptx-runestone-container a[href]:after,.runestone-sphinx a[href]:after{content:" (" attr(href) ")"}.ptx-runestone-container abbr[title]:after,.runestone-sphinx abbr[title]:after{content:" (" attr(title) ")"}.ptx-runestone-container a[href^="#"]:after,.ptx-runestone-container a[href^="javascript:"]:after,.runestone-sphinx a[href^="#"]:after,.runestone-sphinx a[href^="javascript:"]:after{content:""}.ptx-runestone-container blockquote,.ptx-runestone-container pre,.runestone-sphinx blockquote,.runestone-sphinx pre{border:1px solid #999;page-break-inside:avoid}.ptx-runestone-container thead,.runestone-sphinx thead{display:table-header-group}.ptx-runestone-container img,.ptx-runestone-container tr,.runestone-sphinx img,.runestone-sphinx tr{page-break-inside:avoid}.ptx-runestone-container img,.runestone-sphinx img{max-width:100%!important}.ptx-runestone-container h2,.ptx-runestone-container h3,.ptx-runestone-container p,.runestone-sphinx h2,.runestone-sphinx h3,.runestone-sphinx p{orphans:3;widows:3}.ptx-runestone-container h2,.ptx-runestone-container h3,.runestone-sphinx h2,.runestone-sphinx h3{page-break-after:avoid}.ptx-runestone-container .navbar,.runestone-sphinx .navbar{display:none}.ptx-runestone-container .btn>.caret,.ptx-runestone-container .dropup>.btn>.caret,.runestone-sphinx .btn>.caret,.runestone-sphinx .dropup>.btn>.caret{border-top-color:#000!important}.ptx-runestone-container .label,.runestone-sphinx .label{border:1px solid #000}.ptx-runestone-container .table,.runestone-sphinx .table{border-collapse:collapse!important}.ptx-runestone-container .table td,.ptx-runestone-container .table th,.runestone-sphinx .table td,.runestone-sphinx .table th{background-color:#fff!important}.ptx-runestone-container .table-bordered td,.ptx-runestone-container .table-bordered th,.runestone-sphinx .table-bordered td,.runestone-sphinx .table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:Glyphicons Halflings;src:url(7a0f4b092e86cb52.eot);src:url(7a0f4b092e86cb52.eot?#iefix) format("embedded-opentype"),url(b70781972ce7320b.woff2) format("woff2"),url(4ba85deaf3670942.woff) format("woff"),url(009b407a9881be10.ttf) format("truetype"),url(85f0466cb4ab3a4d.svg#glyphicons_halflingsregular) format("svg")}.ptx-runestone-container .glyphicon,.runestone-sphinx .glyphicon{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:Glyphicons Halflings;font-style:normal;font-weight:400;line-height:1;position:relative;top:1px}.ptx-runestone-container .glyphicon-asterisk:before,.runestone-sphinx .glyphicon-asterisk:before{content:"\002a"}.ptx-runestone-container .glyphicon-plus:before,.runestone-sphinx .glyphicon-plus:before{content:"\002b"}.ptx-runestone-container .glyphicon-eur:before,.ptx-runestone-container .glyphicon-euro:before,.runestone-sphinx .glyphicon-eur:before,.runestone-sphinx .glyphicon-euro:before{content:"\20ac"}.ptx-runestone-container .glyphicon-minus:before,.runestone-sphinx .glyphicon-minus:before{content:"\2212"}.ptx-runestone-container .glyphicon-cloud:before,.runestone-sphinx .glyphicon-cloud:before{content:"\2601"}.ptx-runestone-container .glyphicon-envelope:before,.runestone-sphinx .glyphicon-envelope:before{content:"\2709"}.ptx-runestone-container .glyphicon-pencil:before,.runestone-sphinx .glyphicon-pencil:before{content:"\270f"}.ptx-runestone-container .glyphicon-glass:before,.runestone-sphinx .glyphicon-glass:before{content:"\e001"}.ptx-runestone-container .glyphicon-music:before,.runestone-sphinx .glyphicon-music:before{content:"\e002"}.ptx-runestone-container .glyphicon-search:before,.runestone-sphinx .glyphicon-search:before{content:"\e003"}.ptx-runestone-container .glyphicon-heart:before,.runestone-sphinx .glyphicon-heart:before{content:"\e005"}.ptx-runestone-container .glyphicon-star:before,.runestone-sphinx .glyphicon-star:before{content:"\e006"}.ptx-runestone-container .glyphicon-star-empty:before,.runestone-sphinx .glyphicon-star-empty:before{content:"\e007"}.ptx-runestone-container .glyphicon-user:before,.runestone-sphinx .glyphicon-user:before{content:"\e008"}.ptx-runestone-container .glyphicon-film:before,.runestone-sphinx .glyphicon-film:before{content:"\e009"}.ptx-runestone-container .glyphicon-th-large:before,.runestone-sphinx .glyphicon-th-large:before{content:"\e010"}.ptx-runestone-container .glyphicon-th:before,.runestone-sphinx .glyphicon-th:before{content:"\e011"}.ptx-runestone-container .glyphicon-th-list:before,.runestone-sphinx .glyphicon-th-list:before{content:"\e012"}.ptx-runestone-container .glyphicon-ok:before,.runestone-sphinx .glyphicon-ok:before{content:"\e013"}.ptx-runestone-container .glyphicon-remove:before,.runestone-sphinx .glyphicon-remove:before{content:"\e014"}.ptx-runestone-container .glyphicon-zoom-in:before,.runestone-sphinx .glyphicon-zoom-in:before{content:"\e015"}.ptx-runestone-container .glyphicon-zoom-out:before,.runestone-sphinx .glyphicon-zoom-out:before{content:"\e016"}.ptx-runestone-container .glyphicon-off:before,.runestone-sphinx .glyphicon-off:before{content:"\e017"}.ptx-runestone-container .glyphicon-signal:before,.runestone-sphinx .glyphicon-signal:before{content:"\e018"}.ptx-runestone-container .glyphicon-cog:before,.runestone-sphinx .glyphicon-cog:before{content:"\e019"}.ptx-runestone-container .glyphicon-trash:before,.runestone-sphinx .glyphicon-trash:before{content:"\e020"}.ptx-runestone-container .glyphicon-home:before,.runestone-sphinx .glyphicon-home:before{content:"\e021"}.ptx-runestone-container .glyphicon-file:before,.runestone-sphinx .glyphicon-file:before{content:"\e022"}.ptx-runestone-container .glyphicon-time:before,.runestone-sphinx .glyphicon-time:before{content:"\e023"}.ptx-runestone-container .glyphicon-road:before,.runestone-sphinx .glyphicon-road:before{content:"\e024"}.ptx-runestone-container .glyphicon-download-alt:before,.runestone-sphinx .glyphicon-download-alt:before{content:"\e025"}.ptx-runestone-container .glyphicon-download:before,.runestone-sphinx .glyphicon-download:before{content:"\e026"}.ptx-runestone-container .glyphicon-upload:before,.runestone-sphinx .glyphicon-upload:before{content:"\e027"}.ptx-runestone-container .glyphicon-inbox:before,.runestone-sphinx .glyphicon-inbox:before{content:"\e028"}.ptx-runestone-container .glyphicon-play-circle:before,.runestone-sphinx .glyphicon-play-circle:before{content:"\e029"}.ptx-runestone-container .glyphicon-repeat:before,.runestone-sphinx .glyphicon-repeat:before{content:"\e030"}.ptx-runestone-container .glyphicon-refresh:before,.runestone-sphinx .glyphicon-refresh:before{content:"\e031"}.ptx-runestone-container .glyphicon-list-alt:before,.runestone-sphinx .glyphicon-list-alt:before{content:"\e032"}.ptx-runestone-container .glyphicon-lock:before,.runestone-sphinx .glyphicon-lock:before{content:"\e033"}.ptx-runestone-container .glyphicon-flag:before,.runestone-sphinx .glyphicon-flag:before{content:"\e034"}.ptx-runestone-container .glyphicon-headphones:before,.runestone-sphinx .glyphicon-headphones:before{content:"\e035"}.ptx-runestone-container .glyphicon-volume-off:before,.runestone-sphinx .glyphicon-volume-off:before{content:"\e036"}.ptx-runestone-container .glyphicon-volume-down:before,.runestone-sphinx .glyphicon-volume-down:before{content:"\e037"}.ptx-runestone-container .glyphicon-volume-up:before,.runestone-sphinx .glyphicon-volume-up:before{content:"\e038"}.ptx-runestone-container .glyphicon-qrcode:before,.runestone-sphinx .glyphicon-qrcode:before{content:"\e039"}.ptx-runestone-container .glyphicon-barcode:before,.runestone-sphinx .glyphicon-barcode:before{content:"\e040"}.ptx-runestone-container .glyphicon-tag:before,.runestone-sphinx .glyphicon-tag:before{content:"\e041"}.ptx-runestone-container .glyphicon-tags:before,.runestone-sphinx .glyphicon-tags:before{content:"\e042"}.ptx-runestone-container .glyphicon-book:before,.runestone-sphinx .glyphicon-book:before{content:"\e043"}.ptx-runestone-container .glyphicon-bookmark:before,.runestone-sphinx .glyphicon-bookmark:before{content:"\e044"}.ptx-runestone-container .glyphicon-print:before,.runestone-sphinx .glyphicon-print:before{content:"\e045"}.ptx-runestone-container .glyphicon-camera:before,.runestone-sphinx .glyphicon-camera:before{content:"\e046"}.ptx-runestone-container .glyphicon-font:before,.runestone-sphinx .glyphicon-font:before{content:"\e047"}.ptx-runestone-container .glyphicon-bold:before,.runestone-sphinx .glyphicon-bold:before{content:"\e048"}.ptx-runestone-container .glyphicon-italic:before,.runestone-sphinx .glyphicon-italic:before{content:"\e049"}.ptx-runestone-container .glyphicon-text-height:before,.runestone-sphinx .glyphicon-text-height:before{content:"\e050"}.ptx-runestone-container .glyphicon-text-width:before,.runestone-sphinx .glyphicon-text-width:before{content:"\e051"}.ptx-runestone-container .glyphicon-align-left:before,.runestone-sphinx .glyphicon-align-left:before{content:"\e052"}.ptx-runestone-container .glyphicon-align-center:before,.runestone-sphinx .glyphicon-align-center:before{content:"\e053"}.ptx-runestone-container .glyphicon-align-right:before,.runestone-sphinx .glyphicon-align-right:before{content:"\e054"}.ptx-runestone-container .glyphicon-align-justify:before,.runestone-sphinx .glyphicon-align-justify:before{content:"\e055"}.ptx-runestone-container .glyphicon-list:before,.runestone-sphinx .glyphicon-list:before{content:"\e056"}.ptx-runestone-container .glyphicon-indent-left:before,.runestone-sphinx .glyphicon-indent-left:before{content:"\e057"}.ptx-runestone-container .glyphicon-indent-right:before,.runestone-sphinx .glyphicon-indent-right:before{content:"\e058"}.ptx-runestone-container .glyphicon-facetime-video:before,.runestone-sphinx .glyphicon-facetime-video:before{content:"\e059"}.ptx-runestone-container .glyphicon-picture:before,.runestone-sphinx .glyphicon-picture:before{content:"\e060"}.ptx-runestone-container .glyphicon-map-marker:before,.runestone-sphinx .glyphicon-map-marker:before{content:"\e062"}.ptx-runestone-container .glyphicon-adjust:before,.runestone-sphinx .glyphicon-adjust:before{content:"\e063"}.ptx-runestone-container .glyphicon-tint:before,.runestone-sphinx .glyphicon-tint:before{content:"\e064"}.ptx-runestone-container .glyphicon-edit:before,.runestone-sphinx .glyphicon-edit:before{content:"\e065"}.ptx-runestone-container .glyphicon-share:before,.runestone-sphinx .glyphicon-share:before{content:"\e066"}.ptx-runestone-container .glyphicon-check:before,.runestone-sphinx .glyphicon-check:before{content:"\e067"}.ptx-runestone-container .glyphicon-move:before,.runestone-sphinx .glyphicon-move:before{content:"\e068"}.ptx-runestone-container .glyphicon-step-backward:before,.runestone-sphinx .glyphicon-step-backward:before{content:"\e069"}.ptx-runestone-container .glyphicon-fast-backward:before,.runestone-sphinx .glyphicon-fast-backward:before{content:"\e070"}.ptx-runestone-container .glyphicon-backward:before,.runestone-sphinx .glyphicon-backward:before{content:"\e071"}.ptx-runestone-container .glyphicon-play:before,.runestone-sphinx .glyphicon-play:before{content:"\e072"}.ptx-runestone-container .glyphicon-pause:before,.runestone-sphinx .glyphicon-pause:before{content:"\e073"}.ptx-runestone-container .glyphicon-stop:before,.runestone-sphinx .glyphicon-stop:before{content:"\e074"}.ptx-runestone-container .glyphicon-forward:before,.runestone-sphinx .glyphicon-forward:before{content:"\e075"}.ptx-runestone-container .glyphicon-fast-forward:before,.runestone-sphinx .glyphicon-fast-forward:before{content:"\e076"}.ptx-runestone-container .glyphicon-step-forward:before,.runestone-sphinx .glyphicon-step-forward:before{content:"\e077"}.ptx-runestone-container .glyphicon-eject:before,.runestone-sphinx .glyphicon-eject:before{content:"\e078"}.ptx-runestone-container .glyphicon-chevron-left:before,.runestone-sphinx .glyphicon-chevron-left:before{content:"\e079"}.ptx-runestone-container .glyphicon-chevron-right:before,.runestone-sphinx .glyphicon-chevron-right:before{content:"\e080"}.ptx-runestone-container .glyphicon-plus-sign:before,.runestone-sphinx .glyphicon-plus-sign:before{content:"\e081"}.ptx-runestone-container .glyphicon-minus-sign:before,.runestone-sphinx .glyphicon-minus-sign:before{content:"\e082"}.ptx-runestone-container .glyphicon-remove-sign:before,.runestone-sphinx .glyphicon-remove-sign:before{content:"\e083"}.ptx-runestone-container .glyphicon-ok-sign:before,.runestone-sphinx .glyphicon-ok-sign:before{content:"\e084"}.ptx-runestone-container .glyphicon-question-sign:before,.runestone-sphinx .glyphicon-question-sign:before{content:"\e085"}.ptx-runestone-container .glyphicon-info-sign:before,.runestone-sphinx .glyphicon-info-sign:before{content:"\e086"}.ptx-runestone-container .glyphicon-screenshot:before,.runestone-sphinx .glyphicon-screenshot:before{content:"\e087"}.ptx-runestone-container .glyphicon-remove-circle:before,.runestone-sphinx .glyphicon-remove-circle:before{content:"\e088"}.ptx-runestone-container .glyphicon-ok-circle:before,.runestone-sphinx .glyphicon-ok-circle:before{content:"\e089"}.ptx-runestone-container .glyphicon-ban-circle:before,.runestone-sphinx .glyphicon-ban-circle:before{content:"\e090"}.ptx-runestone-container .glyphicon-arrow-left:before,.runestone-sphinx .glyphicon-arrow-left:before{content:"\e091"}.ptx-runestone-container .glyphicon-arrow-right:before,.runestone-sphinx .glyphicon-arrow-right:before{content:"\e092"}.ptx-runestone-container .glyphicon-arrow-up:before,.runestone-sphinx .glyphicon-arrow-up:before{content:"\e093"}.ptx-runestone-container .glyphicon-arrow-down:before,.runestone-sphinx .glyphicon-arrow-down:before{content:"\e094"}.ptx-runestone-container .glyphicon-share-alt:before,.runestone-sphinx .glyphicon-share-alt:before{content:"\e095"}.ptx-runestone-container .glyphicon-resize-full:before,.runestone-sphinx .glyphicon-resize-full:before{content:"\e096"}.ptx-runestone-container .glyphicon-resize-small:before,.runestone-sphinx .glyphicon-resize-small:before{content:"\e097"}.ptx-runestone-container .glyphicon-exclamation-sign:before,.runestone-sphinx .glyphicon-exclamation-sign:before{content:"\e101"}.ptx-runestone-container .glyphicon-gift:before,.runestone-sphinx .glyphicon-gift:before{content:"\e102"}.ptx-runestone-container .glyphicon-leaf:before,.runestone-sphinx .glyphicon-leaf:before{content:"\e103"}.ptx-runestone-container .glyphicon-fire:before,.runestone-sphinx .glyphicon-fire:before{content:"\e104"}.ptx-runestone-container .glyphicon-eye-open:before,.runestone-sphinx .glyphicon-eye-open:before{content:"\e105"}.ptx-runestone-container .glyphicon-eye-close:before,.runestone-sphinx .glyphicon-eye-close:before{content:"\e106"}.ptx-runestone-container .glyphicon-warning-sign:before,.runestone-sphinx .glyphicon-warning-sign:before{content:"\e107"}.ptx-runestone-container .glyphicon-plane:before,.runestone-sphinx .glyphicon-plane:before{content:"\e108"}.ptx-runestone-container .glyphicon-calendar:before,.runestone-sphinx .glyphicon-calendar:before{content:"\e109"}.ptx-runestone-container .glyphicon-random:before,.runestone-sphinx .glyphicon-random:before{content:"\e110"}.ptx-runestone-container .glyphicon-comment:before,.runestone-sphinx .glyphicon-comment:before{content:"\e111"}.ptx-runestone-container .glyphicon-magnet:before,.runestone-sphinx .glyphicon-magnet:before{content:"\e112"}.ptx-runestone-container .glyphicon-chevron-up:before,.runestone-sphinx .glyphicon-chevron-up:before{content:"\e113"}.ptx-runestone-container .glyphicon-chevron-down:before,.runestone-sphinx .glyphicon-chevron-down:before{content:"\e114"}.ptx-runestone-container .glyphicon-retweet:before,.runestone-sphinx .glyphicon-retweet:before{content:"\e115"}.ptx-runestone-container .glyphicon-shopping-cart:before,.runestone-sphinx .glyphicon-shopping-cart:before{content:"\e116"}.ptx-runestone-container .glyphicon-folder-close:before,.runestone-sphinx .glyphicon-folder-close:before{content:"\e117"}.ptx-runestone-container .glyphicon-folder-open:before,.runestone-sphinx .glyphicon-folder-open:before{content:"\e118"}.ptx-runestone-container .glyphicon-resize-vertical:before,.runestone-sphinx .glyphicon-resize-vertical:before{content:"\e119"}.ptx-runestone-container .glyphicon-resize-horizontal:before,.runestone-sphinx .glyphicon-resize-horizontal:before{content:"\e120"}.ptx-runestone-container .glyphicon-hdd:before,.runestone-sphinx .glyphicon-hdd:before{content:"\e121"}.ptx-runestone-container .glyphicon-bullhorn:before,.runestone-sphinx .glyphicon-bullhorn:before{content:"\e122"}.ptx-runestone-container .glyphicon-bell:before,.runestone-sphinx .glyphicon-bell:before{content:"\e123"}.ptx-runestone-container .glyphicon-certificate:before,.runestone-sphinx .glyphicon-certificate:before{content:"\e124"}.ptx-runestone-container .glyphicon-thumbs-up:before,.runestone-sphinx .glyphicon-thumbs-up:before{content:"\e125"}.ptx-runestone-container .glyphicon-thumbs-down:before,.runestone-sphinx .glyphicon-thumbs-down:before{content:"\e126"}.ptx-runestone-container .glyphicon-hand-right:before,.runestone-sphinx .glyphicon-hand-right:before{content:"\e127"}.ptx-runestone-container .glyphicon-hand-left:before,.runestone-sphinx .glyphicon-hand-left:before{content:"\e128"}.ptx-runestone-container .glyphicon-hand-up:before,.runestone-sphinx .glyphicon-hand-up:before{content:"\e129"}.ptx-runestone-container .glyphicon-hand-down:before,.runestone-sphinx .glyphicon-hand-down:before{content:"\e130"}.ptx-runestone-container .glyphicon-circle-arrow-right:before,.runestone-sphinx .glyphicon-circle-arrow-right:before{content:"\e131"}.ptx-runestone-container .glyphicon-circle-arrow-left:before,.runestone-sphinx .glyphicon-circle-arrow-left:before{content:"\e132"}.ptx-runestone-container .glyphicon-circle-arrow-up:before,.runestone-sphinx .glyphicon-circle-arrow-up:before{content:"\e133"}.ptx-runestone-container .glyphicon-circle-arrow-down:before,.runestone-sphinx .glyphicon-circle-arrow-down:before{content:"\e134"}.ptx-runestone-container .glyphicon-globe:before,.runestone-sphinx .glyphicon-globe:before{content:"\e135"}.ptx-runestone-container .glyphicon-wrench:before,.runestone-sphinx .glyphicon-wrench:before{content:"\e136"}.ptx-runestone-container .glyphicon-tasks:before,.runestone-sphinx .glyphicon-tasks:before{content:"\e137"}.ptx-runestone-container .glyphicon-filter:before,.runestone-sphinx .glyphicon-filter:before{content:"\e138"}.ptx-runestone-container .glyphicon-briefcase:before,.runestone-sphinx .glyphicon-briefcase:before{content:"\e139"}.ptx-runestone-container .glyphicon-fullscreen:before,.runestone-sphinx .glyphicon-fullscreen:before{content:"\e140"}.ptx-runestone-container .glyphicon-dashboard:before,.runestone-sphinx .glyphicon-dashboard:before{content:"\e141"}.ptx-runestone-container .glyphicon-paperclip:before,.runestone-sphinx .glyphicon-paperclip:before{content:"\e142"}.ptx-runestone-container .glyphicon-heart-empty:before,.runestone-sphinx .glyphicon-heart-empty:before{content:"\e143"}.ptx-runestone-container .glyphicon-link:before,.runestone-sphinx .glyphicon-link:before{content:"\e144"}.ptx-runestone-container .glyphicon-phone:before,.runestone-sphinx .glyphicon-phone:before{content:"\e145"}.ptx-runestone-container .glyphicon-pushpin:before,.runestone-sphinx .glyphicon-pushpin:before{content:"\e146"}.ptx-runestone-container .glyphicon-usd:before,.runestone-sphinx .glyphicon-usd:before{content:"\e148"}.ptx-runestone-container .glyphicon-gbp:before,.runestone-sphinx .glyphicon-gbp:before{content:"\e149"}.ptx-runestone-container .glyphicon-sort:before,.runestone-sphinx .glyphicon-sort:before{content:"\e150"}.ptx-runestone-container .glyphicon-sort-by-alphabet:before,.runestone-sphinx .glyphicon-sort-by-alphabet:before{content:"\e151"}.ptx-runestone-container .glyphicon-sort-by-alphabet-alt:before,.runestone-sphinx .glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.ptx-runestone-container .glyphicon-sort-by-order:before,.runestone-sphinx .glyphicon-sort-by-order:before{content:"\e153"}.ptx-runestone-container .glyphicon-sort-by-order-alt:before,.runestone-sphinx .glyphicon-sort-by-order-alt:before{content:"\e154"}.ptx-runestone-container .glyphicon-sort-by-attributes:before,.runestone-sphinx .glyphicon-sort-by-attributes:before{content:"\e155"}.ptx-runestone-container .glyphicon-sort-by-attributes-alt:before,.runestone-sphinx .glyphicon-sort-by-attributes-alt:before{content:"\e156"}.ptx-runestone-container .glyphicon-unchecked:before,.runestone-sphinx .glyphicon-unchecked:before{content:"\e157"}.ptx-runestone-container .glyphicon-expand:before,.runestone-sphinx .glyphicon-expand:before{content:"\e158"}.ptx-runestone-container .glyphicon-collapse-down:before,.runestone-sphinx .glyphicon-collapse-down:before{content:"\e159"}.ptx-runestone-container .glyphicon-collapse-up:before,.runestone-sphinx .glyphicon-collapse-up:before{content:"\e160"}.ptx-runestone-container .glyphicon-log-in:before,.runestone-sphinx .glyphicon-log-in:before{content:"\e161"}.ptx-runestone-container .glyphicon-flash:before,.runestone-sphinx .glyphicon-flash:before{content:"\e162"}.ptx-runestone-container .glyphicon-log-out:before,.runestone-sphinx .glyphicon-log-out:before{content:"\e163"}.ptx-runestone-container .glyphicon-new-window:before,.runestone-sphinx .glyphicon-new-window:before{content:"\e164"}.ptx-runestone-container .glyphicon-record:before,.runestone-sphinx .glyphicon-record:before{content:"\e165"}.ptx-runestone-container .glyphicon-save:before,.runestone-sphinx .glyphicon-save:before{content:"\e166"}.ptx-runestone-container .glyphicon-open:before,.runestone-sphinx .glyphicon-open:before{content:"\e167"}.ptx-runestone-container .glyphicon-saved:before,.runestone-sphinx .glyphicon-saved:before{content:"\e168"}.ptx-runestone-container .glyphicon-import:before,.runestone-sphinx .glyphicon-import:before{content:"\e169"}.ptx-runestone-container .glyphicon-export:before,.runestone-sphinx .glyphicon-export:before{content:"\e170"}.ptx-runestone-container .glyphicon-send:before,.runestone-sphinx .glyphicon-send:before{content:"\e171"}.ptx-runestone-container .glyphicon-floppy-disk:before,.runestone-sphinx .glyphicon-floppy-disk:before{content:"\e172"}.ptx-runestone-container .glyphicon-floppy-saved:before,.runestone-sphinx .glyphicon-floppy-saved:before{content:"\e173"}.ptx-runestone-container .glyphicon-floppy-remove:before,.runestone-sphinx .glyphicon-floppy-remove:before{content:"\e174"}.ptx-runestone-container .glyphicon-floppy-save:before,.runestone-sphinx .glyphicon-floppy-save:before{content:"\e175"}.ptx-runestone-container .glyphicon-floppy-open:before,.runestone-sphinx .glyphicon-floppy-open:before{content:"\e176"}.ptx-runestone-container .glyphicon-credit-card:before,.runestone-sphinx .glyphicon-credit-card:before{content:"\e177"}.ptx-runestone-container .glyphicon-transfer:before,.runestone-sphinx .glyphicon-transfer:before{content:"\e178"}.ptx-runestone-container .glyphicon-cutlery:before,.runestone-sphinx .glyphicon-cutlery:before{content:"\e179"}.ptx-runestone-container .glyphicon-header:before,.runestone-sphinx .glyphicon-header:before{content:"\e180"}.ptx-runestone-container .glyphicon-compressed:before,.runestone-sphinx .glyphicon-compressed:before{content:"\e181"}.ptx-runestone-container .glyphicon-earphone:before,.runestone-sphinx .glyphicon-earphone:before{content:"\e182"}.ptx-runestone-container .glyphicon-phone-alt:before,.runestone-sphinx .glyphicon-phone-alt:before{content:"\e183"}.ptx-runestone-container .glyphicon-tower:before,.runestone-sphinx .glyphicon-tower:before{content:"\e184"}.ptx-runestone-container .glyphicon-stats:before,.runestone-sphinx .glyphicon-stats:before{content:"\e185"}.ptx-runestone-container .glyphicon-sd-video:before,.runestone-sphinx .glyphicon-sd-video:before{content:"\e186"}.ptx-runestone-container .glyphicon-hd-video:before,.runestone-sphinx .glyphicon-hd-video:before{content:"\e187"}.ptx-runestone-container .glyphicon-subtitles:before,.runestone-sphinx .glyphicon-subtitles:before{content:"\e188"}.ptx-runestone-container .glyphicon-sound-stereo:before,.runestone-sphinx .glyphicon-sound-stereo:before{content:"\e189"}.ptx-runestone-container .glyphicon-sound-dolby:before,.runestone-sphinx .glyphicon-sound-dolby:before{content:"\e190"}.ptx-runestone-container .glyphicon-sound-5-1:before,.runestone-sphinx .glyphicon-sound-5-1:before{content:"\e191"}.ptx-runestone-container .glyphicon-sound-6-1:before,.runestone-sphinx .glyphicon-sound-6-1:before{content:"\e192"}.ptx-runestone-container .glyphicon-sound-7-1:before,.runestone-sphinx .glyphicon-sound-7-1:before{content:"\e193"}.ptx-runestone-container .glyphicon-copyright-mark:before,.runestone-sphinx .glyphicon-copyright-mark:before{content:"\e194"}.ptx-runestone-container .glyphicon-registration-mark:before,.runestone-sphinx .glyphicon-registration-mark:before{content:"\e195"}.ptx-runestone-container .glyphicon-cloud-download:before,.runestone-sphinx .glyphicon-cloud-download:before{content:"\e197"}.ptx-runestone-container .glyphicon-cloud-upload:before,.runestone-sphinx .glyphicon-cloud-upload:before{content:"\e198"}.ptx-runestone-container .glyphicon-tree-conifer:before,.runestone-sphinx .glyphicon-tree-conifer:before{content:"\e199"}.ptx-runestone-container .glyphicon-tree-deciduous:before,.runestone-sphinx .glyphicon-tree-deciduous:before{content:"\e200"}.ptx-runestone-container .glyphicon-cd:before,.runestone-sphinx .glyphicon-cd:before{content:"\e201"}.ptx-runestone-container .glyphicon-save-file:before,.runestone-sphinx .glyphicon-save-file:before{content:"\e202"}.ptx-runestone-container .glyphicon-open-file:before,.runestone-sphinx .glyphicon-open-file:before{content:"\e203"}.ptx-runestone-container .glyphicon-level-up:before,.runestone-sphinx .glyphicon-level-up:before{content:"\e204"}.ptx-runestone-container .glyphicon-copy:before,.runestone-sphinx .glyphicon-copy:before{content:"\e205"}.ptx-runestone-container .glyphicon-paste:before,.runestone-sphinx .glyphicon-paste:before{content:"\e206"}.ptx-runestone-container .glyphicon-alert:before,.runestone-sphinx .glyphicon-alert:before{content:"\e209"}.ptx-runestone-container .glyphicon-equalizer:before,.runestone-sphinx .glyphicon-equalizer:before{content:"\e210"}.ptx-runestone-container .glyphicon-king:before,.runestone-sphinx .glyphicon-king:before{content:"\e211"}.ptx-runestone-container .glyphicon-queen:before,.runestone-sphinx .glyphicon-queen:before{content:"\e212"}.ptx-runestone-container .glyphicon-pawn:before,.runestone-sphinx .glyphicon-pawn:before{content:"\e213"}.ptx-runestone-container .glyphicon-bishop:before,.runestone-sphinx .glyphicon-bishop:before{content:"\e214"}.ptx-runestone-container .glyphicon-knight:before,.runestone-sphinx .glyphicon-knight:before{content:"\e215"}.ptx-runestone-container .glyphicon-baby-formula:before,.runestone-sphinx .glyphicon-baby-formula:before{content:"\e216"}.ptx-runestone-container .glyphicon-tent:before,.runestone-sphinx .glyphicon-tent:before{content:"\26fa"}.ptx-runestone-container .glyphicon-blackboard:before,.runestone-sphinx .glyphicon-blackboard:before{content:"\e218"}.ptx-runestone-container .glyphicon-bed:before,.runestone-sphinx .glyphicon-bed:before{content:"\e219"}.ptx-runestone-container .glyphicon-apple:before,.runestone-sphinx .glyphicon-apple:before{content:"\f8ff"}.ptx-runestone-container .glyphicon-erase:before,.runestone-sphinx .glyphicon-erase:before{content:"\e221"}.ptx-runestone-container .glyphicon-hourglass:before,.runestone-sphinx .glyphicon-hourglass:before{content:"\231b"}.ptx-runestone-container .glyphicon-lamp:before,.runestone-sphinx .glyphicon-lamp:before{content:"\e223"}.ptx-runestone-container .glyphicon-duplicate:before,.runestone-sphinx .glyphicon-duplicate:before{content:"\e224"}.ptx-runestone-container .glyphicon-piggy-bank:before,.runestone-sphinx .glyphicon-piggy-bank:before{content:"\e225"}.ptx-runestone-container .glyphicon-scissors:before,.runestone-sphinx .glyphicon-scissors:before{content:"\e226"}.ptx-runestone-container .glyphicon-bitcoin:before,.ptx-runestone-container .glyphicon-btc:before,.ptx-runestone-container .glyphicon-xbt:before,.runestone-sphinx .glyphicon-bitcoin:before,.runestone-sphinx .glyphicon-btc:before,.runestone-sphinx .glyphicon-xbt:before{content:"\e227"}.ptx-runestone-container .glyphicon-jpy:before,.ptx-runestone-container .glyphicon-yen:before,.runestone-sphinx .glyphicon-jpy:before,.runestone-sphinx .glyphicon-yen:before{content:"\00a5"}.ptx-runestone-container .glyphicon-rub:before,.ptx-runestone-container .glyphicon-ruble:before,.runestone-sphinx .glyphicon-rub:before,.runestone-sphinx .glyphicon-ruble:before{content:"\20bd"}.ptx-runestone-container .glyphicon-scale:before,.runestone-sphinx .glyphicon-scale:before{content:"\e230"}.ptx-runestone-container .glyphicon-ice-lolly:before,.runestone-sphinx .glyphicon-ice-lolly:before{content:"\e231"}.ptx-runestone-container .glyphicon-ice-lolly-tasted:before,.runestone-sphinx .glyphicon-ice-lolly-tasted:before{content:"\e232"}.ptx-runestone-container .glyphicon-education:before,.runestone-sphinx .glyphicon-education:before{content:"\e233"}.ptx-runestone-container .glyphicon-option-horizontal:before,.runestone-sphinx .glyphicon-option-horizontal:before{content:"\e234"}.ptx-runestone-container .glyphicon-option-vertical:before,.runestone-sphinx .glyphicon-option-vertical:before{content:"\e235"}.ptx-runestone-container .glyphicon-menu-hamburger:before,.runestone-sphinx .glyphicon-menu-hamburger:before{content:"\e236"}.ptx-runestone-container .glyphicon-modal-window:before,.runestone-sphinx .glyphicon-modal-window:before{content:"\e237"}.ptx-runestone-container .glyphicon-oil:before,.runestone-sphinx .glyphicon-oil:before{content:"\e238"}.ptx-runestone-container .glyphicon-grain:before,.runestone-sphinx .glyphicon-grain:before{content:"\e239"}.ptx-runestone-container .glyphicon-sunglasses:before,.runestone-sphinx .glyphicon-sunglasses:before{content:"\e240"}.ptx-runestone-container .glyphicon-text-size:before,.runestone-sphinx .glyphicon-text-size:before{content:"\e241"}.ptx-runestone-container .glyphicon-text-color:before,.runestone-sphinx .glyphicon-text-color:before{content:"\e242"}.ptx-runestone-container .glyphicon-text-background:before,.runestone-sphinx .glyphicon-text-background:before{content:"\e243"}.ptx-runestone-container .glyphicon-object-align-top:before,.runestone-sphinx .glyphicon-object-align-top:before{content:"\e244"}.ptx-runestone-container .glyphicon-object-align-bottom:before,.runestone-sphinx .glyphicon-object-align-bottom:before{content:"\e245"}.ptx-runestone-container .glyphicon-object-align-horizontal:before,.runestone-sphinx .glyphicon-object-align-horizontal:before{content:"\e246"}.ptx-runestone-container .glyphicon-object-align-left:before,.runestone-sphinx .glyphicon-object-align-left:before{content:"\e247"}.ptx-runestone-container .glyphicon-object-align-vertical:before,.runestone-sphinx .glyphicon-object-align-vertical:before{content:"\e248"}.ptx-runestone-container .glyphicon-object-align-right:before,.runestone-sphinx .glyphicon-object-align-right:before{content:"\e249"}.ptx-runestone-container .glyphicon-triangle-right:before,.runestone-sphinx .glyphicon-triangle-right:before{content:"\e250"}.ptx-runestone-container .glyphicon-triangle-left:before,.runestone-sphinx .glyphicon-triangle-left:before{content:"\e251"}.ptx-runestone-container .glyphicon-triangle-bottom:before,.runestone-sphinx .glyphicon-triangle-bottom:before{content:"\e252"}.ptx-runestone-container .glyphicon-triangle-top:before,.runestone-sphinx .glyphicon-triangle-top:before{content:"\e253"}.ptx-runestone-container .glyphicon-console:before,.runestone-sphinx .glyphicon-console:before{content:"\e254"}.ptx-runestone-container .glyphicon-superscript:before,.runestone-sphinx .glyphicon-superscript:before{content:"\e255"}.ptx-runestone-container .glyphicon-subscript:before,.runestone-sphinx .glyphicon-subscript:before{content:"\e256"}.ptx-runestone-container .glyphicon-menu-left:before,.runestone-sphinx .glyphicon-menu-left:before{content:"\e257"}.ptx-runestone-container .glyphicon-menu-right:before,.runestone-sphinx .glyphicon-menu-right:before{content:"\e258"}.ptx-runestone-container .glyphicon-menu-down:before,.runestone-sphinx .glyphicon-menu-down:before{content:"\e259"}.ptx-runestone-container .glyphicon-menu-up:before,.runestone-sphinx .glyphicon-menu-up:before{content:"\e260"}.ptx-runestone-container *,.ptx-runestone-container :after,.ptx-runestone-container :before,.runestone-sphinx *,.runestone-sphinx :after,.runestone-sphinx :before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ptx-runestone-container html,.runestone-sphinx html{-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:10px}.ptx-runestone-container body,.runestone-sphinx body{background-color:#fff;color:#333;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143}.ptx-runestone-container button,.ptx-runestone-container input,.ptx-runestone-container select,.ptx-runestone-container textarea,.runestone-sphinx button,.runestone-sphinx input,.runestone-sphinx select,.runestone-sphinx textarea{font-family:inherit;font-size:inherit;line-height:inherit}.ptx-runestone-container a,.runestone-sphinx a{color:#337ab7;text-decoration:none}.ptx-runestone-container a:focus,.ptx-runestone-container a:hover,.runestone-sphinx a:focus,.runestone-sphinx a:hover{color:#23527c;text-decoration:underline}.ptx-runestone-container a:focus,.runestone-sphinx a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.ptx-runestone-container figure,.runestone-sphinx figure{margin:0}.ptx-runestone-container img,.runestone-sphinx img{vertical-align:middle}.ptx-runestone-container .carousel-inner>.item>a>img,.ptx-runestone-container .carousel-inner>.item>img,.ptx-runestone-container .img-responsive,.ptx-runestone-container .thumbnail a>img,.ptx-runestone-container .thumbnail>img,.runestone-sphinx .carousel-inner>.item>a>img,.runestone-sphinx .carousel-inner>.item>img,.runestone-sphinx .img-responsive,.runestone-sphinx .thumbnail a>img,.runestone-sphinx .thumbnail>img{display:block;height:auto;max-width:100%}.ptx-runestone-container .img-rounded,.runestone-sphinx .img-rounded{border-radius:6px}.ptx-runestone-container .img-thumbnail,.runestone-sphinx .img-thumbnail{background-color:#fff;border:1px solid #ddd;border-radius:4px;display:inline-block;height:auto;line-height:1.42857143;max-width:100%;padding:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.ptx-runestone-container .img-circle,.runestone-sphinx .img-circle{border-radius:50%}.ptx-runestone-container hr,.runestone-sphinx hr{border:0;border-top:1px solid #eee;margin-bottom:20px;margin-top:20px}.ptx-runestone-container .sr-only,.runestone-sphinx .sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ptx-runestone-container .sr-only-focusable:active,.ptx-runestone-container .sr-only-focusable:focus,.runestone-sphinx .sr-only-focusable:active,.runestone-sphinx .sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.ptx-runestone-container [role=button],.runestone-sphinx [role=button]{cursor:pointer}.ptx-runestone-container .h1,.ptx-runestone-container .h2,.ptx-runestone-container .h3,.ptx-runestone-container .h4,.ptx-runestone-container .h5,.ptx-runestone-container .h6,.ptx-runestone-container h1,.ptx-runestone-container h2,.ptx-runestone-container h3,.ptx-runestone-container h4,.ptx-runestone-container h5,.ptx-runestone-container h6,.runestone-sphinx .h1,.runestone-sphinx .h2,.runestone-sphinx .h3,.runestone-sphinx .h4,.runestone-sphinx .h5,.runestone-sphinx .h6,.runestone-sphinx h1,.runestone-sphinx h2,.runestone-sphinx h3,.runestone-sphinx h4,.runestone-sphinx h5,.runestone-sphinx h6{color:inherit;font-family:inherit;font-weight:500;line-height:1.1}.ptx-runestone-container .h1 .small,.ptx-runestone-container .h1 small,.ptx-runestone-container .h2 .small,.ptx-runestone-container .h2 small,.ptx-runestone-container .h3 .small,.ptx-runestone-container .h3 small,.ptx-runestone-container .h4 .small,.ptx-runestone-container .h4 small,.ptx-runestone-container .h5 .small,.ptx-runestone-container .h5 small,.ptx-runestone-container .h6 .small,.ptx-runestone-container .h6 small,.ptx-runestone-container h1 .small,.ptx-runestone-container h1 small,.ptx-runestone-container h2 .small,.ptx-runestone-container h2 small,.ptx-runestone-container h3 .small,.ptx-runestone-container h3 small,.ptx-runestone-container h4 .small,.ptx-runestone-container h4 small,.ptx-runestone-container h5 .small,.ptx-runestone-container h5 small,.ptx-runestone-container h6 .small,.ptx-runestone-container h6 small,.runestone-sphinx .h1 .small,.runestone-sphinx .h1 small,.runestone-sphinx .h2 .small,.runestone-sphinx .h2 small,.runestone-sphinx .h3 .small,.runestone-sphinx .h3 small,.runestone-sphinx .h4 .small,.runestone-sphinx .h4 small,.runestone-sphinx .h5 .small,.runestone-sphinx .h5 small,.runestone-sphinx .h6 .small,.runestone-sphinx .h6 small,.runestone-sphinx h1 .small,.runestone-sphinx h1 small,.runestone-sphinx h2 .small,.runestone-sphinx h2 small,.runestone-sphinx h3 .small,.runestone-sphinx h3 small,.runestone-sphinx h4 .small,.runestone-sphinx h4 small,.runestone-sphinx h5 .small,.runestone-sphinx h5 small,.runestone-sphinx h6 .small,.runestone-sphinx h6 small{color:#777;font-weight:400;line-height:1}.ptx-runestone-container .h1,.ptx-runestone-container .h2,.ptx-runestone-container .h3,.ptx-runestone-container h1,.ptx-runestone-container h2,.ptx-runestone-container h3,.runestone-sphinx .h1,.runestone-sphinx .h2,.runestone-sphinx .h3,.runestone-sphinx h1,.runestone-sphinx h2,.runestone-sphinx h3{margin-bottom:10px;margin-top:20px}.ptx-runestone-container .h1 .small,.ptx-runestone-container .h1 small,.ptx-runestone-container .h2 .small,.ptx-runestone-container .h2 small,.ptx-runestone-container .h3 .small,.ptx-runestone-container .h3 small,.ptx-runestone-container h1 .small,.ptx-runestone-container h1 small,.ptx-runestone-container h2 .small,.ptx-runestone-container h2 small,.ptx-runestone-container h3 .small,.ptx-runestone-container h3 small,.runestone-sphinx .h1 .small,.runestone-sphinx .h1 small,.runestone-sphinx .h2 .small,.runestone-sphinx .h2 small,.runestone-sphinx .h3 .small,.runestone-sphinx .h3 small,.runestone-sphinx h1 .small,.runestone-sphinx h1 small,.runestone-sphinx h2 .small,.runestone-sphinx h2 small,.runestone-sphinx h3 .small,.runestone-sphinx h3 small{font-size:65%}.ptx-runestone-container .h4,.ptx-runestone-container .h5,.ptx-runestone-container .h6,.ptx-runestone-container h4,.ptx-runestone-container h5,.ptx-runestone-container h6,.runestone-sphinx .h4,.runestone-sphinx .h5,.runestone-sphinx .h6,.runestone-sphinx h4,.runestone-sphinx h5,.runestone-sphinx h6{margin-bottom:10px;margin-top:10px}.ptx-runestone-container .h4 .small,.ptx-runestone-container .h4 small,.ptx-runestone-container .h5 .small,.ptx-runestone-container .h5 small,.ptx-runestone-container .h6 .small,.ptx-runestone-container .h6 small,.ptx-runestone-container h4 .small,.ptx-runestone-container h4 small,.ptx-runestone-container h5 .small,.ptx-runestone-container h5 small,.ptx-runestone-container h6 .small,.ptx-runestone-container h6 small,.runestone-sphinx .h4 .small,.runestone-sphinx .h4 small,.runestone-sphinx .h5 .small,.runestone-sphinx .h5 small,.runestone-sphinx .h6 .small,.runestone-sphinx .h6 small,.runestone-sphinx h4 .small,.runestone-sphinx h4 small,.runestone-sphinx h5 .small,.runestone-sphinx h5 small,.runestone-sphinx h6 .small,.runestone-sphinx h6 small{font-size:75%}.ptx-runestone-container .h1,.ptx-runestone-container h1,.runestone-sphinx .h1,.runestone-sphinx h1{font-size:36px}.ptx-runestone-container .h2,.ptx-runestone-container h2,.runestone-sphinx .h2,.runestone-sphinx h2{font-size:30px}.ptx-runestone-container .h3,.ptx-runestone-container h3,.runestone-sphinx .h3,.runestone-sphinx h3{font-size:24px}.ptx-runestone-container .h4,.ptx-runestone-container h4,.runestone-sphinx .h4,.runestone-sphinx h4{font-size:18px}.ptx-runestone-container .h5,.ptx-runestone-container h5,.runestone-sphinx .h5,.runestone-sphinx h5{font-size:14px}.ptx-runestone-container .h6,.ptx-runestone-container h6,.runestone-sphinx .h6,.runestone-sphinx h6{font-size:12px}.ptx-runestone-container p,.runestone-sphinx p{margin:0 0 10px}.ptx-runestone-container .lead,.runestone-sphinx .lead{font-size:16px;font-weight:300;line-height:1.4;margin-bottom:20px}@media (min-width:768px){.ptx-runestone-container .lead,.runestone-sphinx .lead{font-size:21px}}.ptx-runestone-container .small,.ptx-runestone-container small,.runestone-sphinx .small,.runestone-sphinx small{font-size:85%}.ptx-runestone-container .mark,.ptx-runestone-container mark,.runestone-sphinx .mark,.runestone-sphinx mark{background-color:#fcf8e3;padding:.2em}.ptx-runestone-container .text-left,.runestone-sphinx .text-left{text-align:left}.ptx-runestone-container .text-right,.runestone-sphinx .text-right{text-align:right}.ptx-runestone-container .text-center,.runestone-sphinx .text-center{text-align:center}.ptx-runestone-container .text-justify,.runestone-sphinx .text-justify{text-align:justify}.ptx-runestone-container .text-nowrap,.runestone-sphinx .text-nowrap{white-space:nowrap}.ptx-runestone-container .text-lowercase,.runestone-sphinx .text-lowercase{text-transform:lowercase}.ptx-runestone-container .text-uppercase,.runestone-sphinx .text-uppercase{text-transform:uppercase}.ptx-runestone-container .text-capitalize,.runestone-sphinx .text-capitalize{text-transform:capitalize}.ptx-runestone-container .text-muted,.runestone-sphinx .text-muted{color:#777}.ptx-runestone-container .text-primary,.runestone-sphinx .text-primary{color:#337ab7}.ptx-runestone-container a.text-primary:focus,.ptx-runestone-container a.text-primary:hover,.runestone-sphinx a.text-primary:focus,.runestone-sphinx a.text-primary:hover{color:#286090}.ptx-runestone-container .text-success,.runestone-sphinx .text-success{color:#3c763d}.ptx-runestone-container a.text-success:focus,.ptx-runestone-container a.text-success:hover,.runestone-sphinx a.text-success:focus,.runestone-sphinx a.text-success:hover{color:#2b542c}.ptx-runestone-container .text-info,.runestone-sphinx .text-info{color:#31708f}.ptx-runestone-container a.text-info:focus,.ptx-runestone-container a.text-info:hover,.runestone-sphinx a.text-info:focus,.runestone-sphinx a.text-info:hover{color:#245269}.ptx-runestone-container .text-warning,.runestone-sphinx .text-warning{color:#8a6d3b}.ptx-runestone-container a.text-warning:focus,.ptx-runestone-container a.text-warning:hover,.runestone-sphinx a.text-warning:focus,.runestone-sphinx a.text-warning:hover{color:#66512c}.ptx-runestone-container .text-danger,.runestone-sphinx .text-danger{color:#a94442}.ptx-runestone-container a.text-danger:focus,.ptx-runestone-container a.text-danger:hover,.runestone-sphinx a.text-danger:focus,.runestone-sphinx a.text-danger:hover{color:#843534}.ptx-runestone-container .bg-primary,.runestone-sphinx .bg-primary{background-color:#337ab7;color:#fff}.ptx-runestone-container a.bg-primary:focus,.ptx-runestone-container a.bg-primary:hover,.runestone-sphinx a.bg-primary:focus,.runestone-sphinx a.bg-primary:hover{background-color:#286090}.ptx-runestone-container .bg-success,.runestone-sphinx .bg-success{background-color:#dff0d8}.ptx-runestone-container a.bg-success:focus,.ptx-runestone-container a.bg-success:hover,.runestone-sphinx a.bg-success:focus,.runestone-sphinx a.bg-success:hover{background-color:#c1e2b3}.ptx-runestone-container .bg-info,.runestone-sphinx .bg-info{background-color:#d9edf7}.ptx-runestone-container a.bg-info:focus,.ptx-runestone-container a.bg-info:hover,.runestone-sphinx a.bg-info:focus,.runestone-sphinx a.bg-info:hover{background-color:#afd9ee}.ptx-runestone-container .bg-warning,.runestone-sphinx .bg-warning{background-color:#fcf8e3}.ptx-runestone-container a.bg-warning:focus,.ptx-runestone-container a.bg-warning:hover,.runestone-sphinx a.bg-warning:focus,.runestone-sphinx a.bg-warning:hover{background-color:#f7ecb5}.ptx-runestone-container .bg-danger,.runestone-sphinx .bg-danger{background-color:#f2dede}.ptx-runestone-container a.bg-danger:focus,.ptx-runestone-container a.bg-danger:hover,.runestone-sphinx a.bg-danger:focus,.runestone-sphinx a.bg-danger:hover{background-color:#e4b9b9}.ptx-runestone-container .page-header,.runestone-sphinx .page-header{border-bottom:1px solid #eee;margin:40px 0 20px;padding-bottom:9px}.ptx-runestone-container ol,.ptx-runestone-container ul,.runestone-sphinx ol,.runestone-sphinx ul{margin-bottom:10px;margin-top:0}.ptx-runestone-container ol ol,.ptx-runestone-container ol ul,.ptx-runestone-container ul ol,.ptx-runestone-container ul ul,.runestone-sphinx ol ol,.runestone-sphinx ol ul,.runestone-sphinx ul ol,.runestone-sphinx ul ul{margin-bottom:0}.ptx-runestone-container .list-unstyled,.runestone-sphinx .list-unstyled{list-style:none;padding-left:0}.ptx-runestone-container .list-inline,.runestone-sphinx .list-inline{list-style:none;margin-left:-5px;padding-left:0}.ptx-runestone-container .list-inline>li,.runestone-sphinx .list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}.ptx-runestone-container dl,.runestone-sphinx dl{margin-bottom:20px;margin-top:0}.ptx-runestone-container dd,.ptx-runestone-container dt,.runestone-sphinx dd,.runestone-sphinx dt{line-height:1.42857143}.ptx-runestone-container dt,.runestone-sphinx dt{font-weight:700}.ptx-runestone-container dd,.runestone-sphinx dd{margin-left:0}@media (min-width:768px){.ptx-runestone-container .dl-horizontal dt,.runestone-sphinx .dl-horizontal dt{clear:left;float:left;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:160px}.ptx-runestone-container .dl-horizontal dd,.runestone-sphinx .dl-horizontal dd{margin-left:180px}}.ptx-runestone-container abbr[data-original-title],.ptx-runestone-container abbr[title],.runestone-sphinx abbr[data-original-title],.runestone-sphinx abbr[title]{cursor:help}.ptx-runestone-container .initialism,.runestone-sphinx .initialism{font-size:90%;text-transform:uppercase}.ptx-runestone-container blockquote,.runestone-sphinx blockquote{border-left:5px solid #eee;font-size:17.5px;margin:0 0 20px;padding:10px 20px}.ptx-runestone-container blockquote ol:last-child,.ptx-runestone-container blockquote p:last-child,.ptx-runestone-container blockquote ul:last-child,.runestone-sphinx blockquote ol:last-child,.runestone-sphinx blockquote p:last-child,.runestone-sphinx blockquote ul:last-child{margin-bottom:0}.ptx-runestone-container blockquote .small,.ptx-runestone-container blockquote footer,.ptx-runestone-container blockquote small,.runestone-sphinx blockquote .small,.runestone-sphinx blockquote footer,.runestone-sphinx blockquote small{color:#777;display:block;font-size:80%;line-height:1.42857143}.ptx-runestone-container blockquote .small:before,.ptx-runestone-container blockquote footer:before,.ptx-runestone-container blockquote small:before,.runestone-sphinx blockquote .small:before,.runestone-sphinx blockquote footer:before,.runestone-sphinx blockquote small:before{content:"\2014 \00A0"}.ptx-runestone-container .blockquote-reverse,.ptx-runestone-container blockquote.pull-right,.runestone-sphinx .blockquote-reverse,.runestone-sphinx blockquote.pull-right{border-left:0;border-right:5px solid #eee;padding-left:0;padding-right:15px;text-align:right}.ptx-runestone-container .blockquote-reverse .small:before,.ptx-runestone-container .blockquote-reverse footer:before,.ptx-runestone-container .blockquote-reverse small:before,.ptx-runestone-container blockquote.pull-right .small:before,.ptx-runestone-container blockquote.pull-right footer:before,.ptx-runestone-container blockquote.pull-right small:before,.runestone-sphinx .blockquote-reverse .small:before,.runestone-sphinx .blockquote-reverse footer:before,.runestone-sphinx .blockquote-reverse small:before,.runestone-sphinx blockquote.pull-right .small:before,.runestone-sphinx blockquote.pull-right footer:before,.runestone-sphinx blockquote.pull-right small:before{content:""}.ptx-runestone-container .blockquote-reverse .small:after,.ptx-runestone-container .blockquote-reverse footer:after,.ptx-runestone-container .blockquote-reverse small:after,.ptx-runestone-container blockquote.pull-right .small:after,.ptx-runestone-container blockquote.pull-right footer:after,.ptx-runestone-container blockquote.pull-right small:after,.runestone-sphinx .blockquote-reverse .small:after,.runestone-sphinx .blockquote-reverse footer:after,.runestone-sphinx .blockquote-reverse small:after,.runestone-sphinx blockquote.pull-right .small:after,.runestone-sphinx blockquote.pull-right footer:after,.runestone-sphinx blockquote.pull-right small:after{content:"\00A0 \2014"}.ptx-runestone-container address,.runestone-sphinx address{font-style:normal;line-height:1.42857143;margin-bottom:20px}.ptx-runestone-container code,.ptx-runestone-container kbd,.ptx-runestone-container pre,.ptx-runestone-container samp,.runestone-sphinx code,.runestone-sphinx kbd,.runestone-sphinx pre,.runestone-sphinx samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}.ptx-runestone-container code,.runestone-sphinx code{background-color:#f9f2f4;border-radius:4px;color:#c7254e;font-size:90%;padding:2px 4px}.ptx-runestone-container kbd,.runestone-sphinx kbd{background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);color:#fff;font-size:90%;padding:2px 4px}.ptx-runestone-container kbd kbd,.runestone-sphinx kbd kbd{-webkit-box-shadow:none;box-shadow:none;font-size:100%;font-weight:700;padding:0}.ptx-runestone-container pre,.runestone-sphinx pre{word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px;color:#333;display:block;font-size:13px;line-height:1.42857143;margin:0 0 10px;padding:9.5px;word-break:break-all}.ptx-runestone-container pre code,.runestone-sphinx pre code{background-color:transparent;border-radius:0;color:inherit;font-size:inherit;padding:0;white-space:pre-wrap}.ptx-runestone-container .pre-scrollable,.runestone-sphinx .pre-scrollable{max-height:340px;overflow-y:scroll}.ptx-runestone-container .container,.runestone-sphinx .container{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.ptx-runestone-container .container,.runestone-sphinx .container{width:750px}}@media (min-width:992px){.ptx-runestone-container .container,.runestone-sphinx .container{width:970px}}@media (min-width:1200px){.ptx-runestone-container .container,.runestone-sphinx .container{width:1170px}}.ptx-runestone-container .container-fluid,.runestone-sphinx .container-fluid{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px}.ptx-runestone-container .row,.runestone-sphinx .row{margin-left:-15px;margin-right:-15px}.ptx-runestone-container .row-no-gutters,.runestone-sphinx .row-no-gutters{margin-left:0;margin-right:0}.ptx-runestone-container .row-no-gutters [class*=col-],.runestone-sphinx .row-no-gutters [class*=col-]{padding-left:0;padding-right:0}.ptx-runestone-container .col-lg-1,.ptx-runestone-container .col-lg-10,.ptx-runestone-container .col-lg-11,.ptx-runestone-container .col-lg-12,.ptx-runestone-container .col-lg-2,.ptx-runestone-container .col-lg-3,.ptx-runestone-container .col-lg-4,.ptx-runestone-container .col-lg-5,.ptx-runestone-container .col-lg-6,.ptx-runestone-container .col-lg-7,.ptx-runestone-container .col-lg-8,.ptx-runestone-container .col-lg-9,.ptx-runestone-container .col-md-1,.ptx-runestone-container .col-md-10,.ptx-runestone-container .col-md-11,.ptx-runestone-container .col-md-12,.ptx-runestone-container .col-md-2,.ptx-runestone-container .col-md-3,.ptx-runestone-container .col-md-4,.ptx-runestone-container .col-md-5,.ptx-runestone-container .col-md-6,.ptx-runestone-container .col-md-7,.ptx-runestone-container .col-md-8,.ptx-runestone-container .col-md-9,.ptx-runestone-container .col-sm-1,.ptx-runestone-container .col-sm-10,.ptx-runestone-container .col-sm-11,.ptx-runestone-container .col-sm-12,.ptx-runestone-container .col-sm-2,.ptx-runestone-container .col-sm-3,.ptx-runestone-container .col-sm-4,.ptx-runestone-container .col-sm-5,.ptx-runestone-container .col-sm-6,.ptx-runestone-container .col-sm-7,.ptx-runestone-container .col-sm-8,.ptx-runestone-container .col-sm-9,.ptx-runestone-container .col-xs-1,.ptx-runestone-container .col-xs-10,.ptx-runestone-container .col-xs-11,.ptx-runestone-container .col-xs-12,.ptx-runestone-container .col-xs-2,.ptx-runestone-container .col-xs-3,.ptx-runestone-container .col-xs-4,.ptx-runestone-container .col-xs-5,.ptx-runestone-container .col-xs-6,.ptx-runestone-container .col-xs-7,.ptx-runestone-container .col-xs-8,.ptx-runestone-container .col-xs-9,.runestone-sphinx .col-lg-1,.runestone-sphinx .col-lg-10,.runestone-sphinx .col-lg-11,.runestone-sphinx .col-lg-12,.runestone-sphinx .col-lg-2,.runestone-sphinx .col-lg-3,.runestone-sphinx .col-lg-4,.runestone-sphinx .col-lg-5,.runestone-sphinx .col-lg-6,.runestone-sphinx .col-lg-7,.runestone-sphinx .col-lg-8,.runestone-sphinx .col-lg-9,.runestone-sphinx .col-md-1,.runestone-sphinx .col-md-10,.runestone-sphinx .col-md-11,.runestone-sphinx .col-md-12,.runestone-sphinx .col-md-2,.runestone-sphinx .col-md-3,.runestone-sphinx .col-md-4,.runestone-sphinx .col-md-5,.runestone-sphinx .col-md-6,.runestone-sphinx .col-md-7,.runestone-sphinx .col-md-8,.runestone-sphinx .col-md-9,.runestone-sphinx .col-sm-1,.runestone-sphinx .col-sm-10,.runestone-sphinx .col-sm-11,.runestone-sphinx .col-sm-12,.runestone-sphinx .col-sm-2,.runestone-sphinx .col-sm-3,.runestone-sphinx .col-sm-4,.runestone-sphinx .col-sm-5,.runestone-sphinx .col-sm-6,.runestone-sphinx .col-sm-7,.runestone-sphinx .col-sm-8,.runestone-sphinx .col-sm-9,.runestone-sphinx .col-xs-1,.runestone-sphinx .col-xs-10,.runestone-sphinx .col-xs-11,.runestone-sphinx .col-xs-12,.runestone-sphinx .col-xs-2,.runestone-sphinx .col-xs-3,.runestone-sphinx .col-xs-4,.runestone-sphinx .col-xs-5,.runestone-sphinx .col-xs-6,.runestone-sphinx .col-xs-7,.runestone-sphinx .col-xs-8,.runestone-sphinx .col-xs-9{min-height:1px;padding-left:15px;padding-right:15px;position:relative}.ptx-runestone-container .col-xs-1,.ptx-runestone-container .col-xs-10,.ptx-runestone-container .col-xs-11,.ptx-runestone-container .col-xs-12,.ptx-runestone-container .col-xs-2,.ptx-runestone-container .col-xs-3,.ptx-runestone-container .col-xs-4,.ptx-runestone-container .col-xs-5,.ptx-runestone-container .col-xs-6,.ptx-runestone-container .col-xs-7,.ptx-runestone-container .col-xs-8,.ptx-runestone-container .col-xs-9,.runestone-sphinx .col-xs-1,.runestone-sphinx .col-xs-10,.runestone-sphinx .col-xs-11,.runestone-sphinx .col-xs-12,.runestone-sphinx .col-xs-2,.runestone-sphinx .col-xs-3,.runestone-sphinx .col-xs-4,.runestone-sphinx .col-xs-5,.runestone-sphinx .col-xs-6,.runestone-sphinx .col-xs-7,.runestone-sphinx .col-xs-8,.runestone-sphinx .col-xs-9{float:left}.ptx-runestone-container .col-xs-12,.runestone-sphinx .col-xs-12{width:100%}.ptx-runestone-container .col-xs-11,.runestone-sphinx .col-xs-11{width:91.66666667%}.ptx-runestone-container .col-xs-10,.runestone-sphinx .col-xs-10{width:83.33333333%}.ptx-runestone-container .col-xs-9,.runestone-sphinx .col-xs-9{width:75%}.ptx-runestone-container .col-xs-8,.runestone-sphinx .col-xs-8{width:66.66666667%}.ptx-runestone-container .col-xs-7,.runestone-sphinx .col-xs-7{width:58.33333333%}.ptx-runestone-container .col-xs-6,.runestone-sphinx .col-xs-6{width:50%}.ptx-runestone-container .col-xs-5,.runestone-sphinx .col-xs-5{width:41.66666667%}.ptx-runestone-container .col-xs-4,.runestone-sphinx .col-xs-4{width:33.33333333%}.ptx-runestone-container .col-xs-3,.runestone-sphinx .col-xs-3{width:25%}.ptx-runestone-container .col-xs-2,.runestone-sphinx .col-xs-2{width:16.66666667%}.ptx-runestone-container .col-xs-1,.runestone-sphinx .col-xs-1{width:8.33333333%}.ptx-runestone-container .col-xs-pull-12,.runestone-sphinx .col-xs-pull-12{right:100%}.ptx-runestone-container .col-xs-pull-11,.runestone-sphinx .col-xs-pull-11{right:91.66666667%}.ptx-runestone-container .col-xs-pull-10,.runestone-sphinx .col-xs-pull-10{right:83.33333333%}.ptx-runestone-container .col-xs-pull-9,.runestone-sphinx .col-xs-pull-9{right:75%}.ptx-runestone-container .col-xs-pull-8,.runestone-sphinx .col-xs-pull-8{right:66.66666667%}.ptx-runestone-container .col-xs-pull-7,.runestone-sphinx .col-xs-pull-7{right:58.33333333%}.ptx-runestone-container .col-xs-pull-6,.runestone-sphinx .col-xs-pull-6{right:50%}.ptx-runestone-container .col-xs-pull-5,.runestone-sphinx .col-xs-pull-5{right:41.66666667%}.ptx-runestone-container .col-xs-pull-4,.runestone-sphinx .col-xs-pull-4{right:33.33333333%}.ptx-runestone-container .col-xs-pull-3,.runestone-sphinx .col-xs-pull-3{right:25%}.ptx-runestone-container .col-xs-pull-2,.runestone-sphinx .col-xs-pull-2{right:16.66666667%}.ptx-runestone-container .col-xs-pull-1,.runestone-sphinx .col-xs-pull-1{right:8.33333333%}.ptx-runestone-container .col-xs-pull-0,.runestone-sphinx .col-xs-pull-0{right:auto}.ptx-runestone-container .col-xs-push-12,.runestone-sphinx .col-xs-push-12{left:100%}.ptx-runestone-container .col-xs-push-11,.runestone-sphinx .col-xs-push-11{left:91.66666667%}.ptx-runestone-container .col-xs-push-10,.runestone-sphinx .col-xs-push-10{left:83.33333333%}.ptx-runestone-container .col-xs-push-9,.runestone-sphinx .col-xs-push-9{left:75%}.ptx-runestone-container .col-xs-push-8,.runestone-sphinx .col-xs-push-8{left:66.66666667%}.ptx-runestone-container .col-xs-push-7,.runestone-sphinx .col-xs-push-7{left:58.33333333%}.ptx-runestone-container .col-xs-push-6,.runestone-sphinx .col-xs-push-6{left:50%}.ptx-runestone-container .col-xs-push-5,.runestone-sphinx .col-xs-push-5{left:41.66666667%}.ptx-runestone-container .col-xs-push-4,.runestone-sphinx .col-xs-push-4{left:33.33333333%}.ptx-runestone-container .col-xs-push-3,.runestone-sphinx .col-xs-push-3{left:25%}.ptx-runestone-container .col-xs-push-2,.runestone-sphinx .col-xs-push-2{left:16.66666667%}.ptx-runestone-container .col-xs-push-1,.runestone-sphinx .col-xs-push-1{left:8.33333333%}.ptx-runestone-container .col-xs-push-0,.runestone-sphinx .col-xs-push-0{left:auto}.ptx-runestone-container .col-xs-offset-12,.runestone-sphinx .col-xs-offset-12{margin-left:100%}.ptx-runestone-container .col-xs-offset-11,.runestone-sphinx .col-xs-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-xs-offset-10,.runestone-sphinx .col-xs-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-xs-offset-9,.runestone-sphinx .col-xs-offset-9{margin-left:75%}.ptx-runestone-container .col-xs-offset-8,.runestone-sphinx .col-xs-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-xs-offset-7,.runestone-sphinx .col-xs-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-xs-offset-6,.runestone-sphinx .col-xs-offset-6{margin-left:50%}.ptx-runestone-container .col-xs-offset-5,.runestone-sphinx .col-xs-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-xs-offset-4,.runestone-sphinx .col-xs-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-xs-offset-3,.runestone-sphinx .col-xs-offset-3{margin-left:25%}.ptx-runestone-container .col-xs-offset-2,.runestone-sphinx .col-xs-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-xs-offset-1,.runestone-sphinx .col-xs-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-xs-offset-0,.runestone-sphinx .col-xs-offset-0{margin-left:0}@media (min-width:768px){.ptx-runestone-container .col-sm-1,.ptx-runestone-container .col-sm-10,.ptx-runestone-container .col-sm-11,.ptx-runestone-container .col-sm-12,.ptx-runestone-container .col-sm-2,.ptx-runestone-container .col-sm-3,.ptx-runestone-container .col-sm-4,.ptx-runestone-container .col-sm-5,.ptx-runestone-container .col-sm-6,.ptx-runestone-container .col-sm-7,.ptx-runestone-container .col-sm-8,.ptx-runestone-container .col-sm-9,.runestone-sphinx .col-sm-1,.runestone-sphinx .col-sm-10,.runestone-sphinx .col-sm-11,.runestone-sphinx .col-sm-12,.runestone-sphinx .col-sm-2,.runestone-sphinx .col-sm-3,.runestone-sphinx .col-sm-4,.runestone-sphinx .col-sm-5,.runestone-sphinx .col-sm-6,.runestone-sphinx .col-sm-7,.runestone-sphinx .col-sm-8,.runestone-sphinx .col-sm-9{float:left}.ptx-runestone-container .col-sm-12,.runestone-sphinx .col-sm-12{width:100%}.ptx-runestone-container .col-sm-11,.runestone-sphinx .col-sm-11{width:91.66666667%}.ptx-runestone-container .col-sm-10,.runestone-sphinx .col-sm-10{width:83.33333333%}.ptx-runestone-container .col-sm-9,.runestone-sphinx .col-sm-9{width:75%}.ptx-runestone-container .col-sm-8,.runestone-sphinx .col-sm-8{width:66.66666667%}.ptx-runestone-container .col-sm-7,.runestone-sphinx .col-sm-7{width:58.33333333%}.ptx-runestone-container .col-sm-6,.runestone-sphinx .col-sm-6{width:50%}.ptx-runestone-container .col-sm-5,.runestone-sphinx .col-sm-5{width:41.66666667%}.ptx-runestone-container .col-sm-4,.runestone-sphinx .col-sm-4{width:33.33333333%}.ptx-runestone-container .col-sm-3,.runestone-sphinx .col-sm-3{width:25%}.ptx-runestone-container .col-sm-2,.runestone-sphinx .col-sm-2{width:16.66666667%}.ptx-runestone-container .col-sm-1,.runestone-sphinx .col-sm-1{width:8.33333333%}.ptx-runestone-container .col-sm-pull-12,.runestone-sphinx .col-sm-pull-12{right:100%}.ptx-runestone-container .col-sm-pull-11,.runestone-sphinx .col-sm-pull-11{right:91.66666667%}.ptx-runestone-container .col-sm-pull-10,.runestone-sphinx .col-sm-pull-10{right:83.33333333%}.ptx-runestone-container .col-sm-pull-9,.runestone-sphinx .col-sm-pull-9{right:75%}.ptx-runestone-container .col-sm-pull-8,.runestone-sphinx .col-sm-pull-8{right:66.66666667%}.ptx-runestone-container .col-sm-pull-7,.runestone-sphinx .col-sm-pull-7{right:58.33333333%}.ptx-runestone-container .col-sm-pull-6,.runestone-sphinx .col-sm-pull-6{right:50%}.ptx-runestone-container .col-sm-pull-5,.runestone-sphinx .col-sm-pull-5{right:41.66666667%}.ptx-runestone-container .col-sm-pull-4,.runestone-sphinx .col-sm-pull-4{right:33.33333333%}.ptx-runestone-container .col-sm-pull-3,.runestone-sphinx .col-sm-pull-3{right:25%}.ptx-runestone-container .col-sm-pull-2,.runestone-sphinx .col-sm-pull-2{right:16.66666667%}.ptx-runestone-container .col-sm-pull-1,.runestone-sphinx .col-sm-pull-1{right:8.33333333%}.ptx-runestone-container .col-sm-pull-0,.runestone-sphinx .col-sm-pull-0{right:auto}.ptx-runestone-container .col-sm-push-12,.runestone-sphinx .col-sm-push-12{left:100%}.ptx-runestone-container .col-sm-push-11,.runestone-sphinx .col-sm-push-11{left:91.66666667%}.ptx-runestone-container .col-sm-push-10,.runestone-sphinx .col-sm-push-10{left:83.33333333%}.ptx-runestone-container .col-sm-push-9,.runestone-sphinx .col-sm-push-9{left:75%}.ptx-runestone-container .col-sm-push-8,.runestone-sphinx .col-sm-push-8{left:66.66666667%}.ptx-runestone-container .col-sm-push-7,.runestone-sphinx .col-sm-push-7{left:58.33333333%}.ptx-runestone-container .col-sm-push-6,.runestone-sphinx .col-sm-push-6{left:50%}.ptx-runestone-container .col-sm-push-5,.runestone-sphinx .col-sm-push-5{left:41.66666667%}.ptx-runestone-container .col-sm-push-4,.runestone-sphinx .col-sm-push-4{left:33.33333333%}.ptx-runestone-container .col-sm-push-3,.runestone-sphinx .col-sm-push-3{left:25%}.ptx-runestone-container .col-sm-push-2,.runestone-sphinx .col-sm-push-2{left:16.66666667%}.ptx-runestone-container .col-sm-push-1,.runestone-sphinx .col-sm-push-1{left:8.33333333%}.ptx-runestone-container .col-sm-push-0,.runestone-sphinx .col-sm-push-0{left:auto}.ptx-runestone-container .col-sm-offset-12,.runestone-sphinx .col-sm-offset-12{margin-left:100%}.ptx-runestone-container .col-sm-offset-11,.runestone-sphinx .col-sm-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-sm-offset-10,.runestone-sphinx .col-sm-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-sm-offset-9,.runestone-sphinx .col-sm-offset-9{margin-left:75%}.ptx-runestone-container .col-sm-offset-8,.runestone-sphinx .col-sm-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-sm-offset-7,.runestone-sphinx .col-sm-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-sm-offset-6,.runestone-sphinx .col-sm-offset-6{margin-left:50%}.ptx-runestone-container .col-sm-offset-5,.runestone-sphinx .col-sm-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-sm-offset-4,.runestone-sphinx .col-sm-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-sm-offset-3,.runestone-sphinx .col-sm-offset-3{margin-left:25%}.ptx-runestone-container .col-sm-offset-2,.runestone-sphinx .col-sm-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-sm-offset-1,.runestone-sphinx .col-sm-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-sm-offset-0,.runestone-sphinx .col-sm-offset-0{margin-left:0}}@media (min-width:992px){.ptx-runestone-container .col-md-1,.ptx-runestone-container .col-md-10,.ptx-runestone-container .col-md-11,.ptx-runestone-container .col-md-12,.ptx-runestone-container .col-md-2,.ptx-runestone-container .col-md-3,.ptx-runestone-container .col-md-4,.ptx-runestone-container .col-md-5,.ptx-runestone-container .col-md-6,.ptx-runestone-container .col-md-7,.ptx-runestone-container .col-md-8,.ptx-runestone-container .col-md-9,.runestone-sphinx .col-md-1,.runestone-sphinx .col-md-10,.runestone-sphinx .col-md-11,.runestone-sphinx .col-md-12,.runestone-sphinx .col-md-2,.runestone-sphinx .col-md-3,.runestone-sphinx .col-md-4,.runestone-sphinx .col-md-5,.runestone-sphinx .col-md-6,.runestone-sphinx .col-md-7,.runestone-sphinx .col-md-8,.runestone-sphinx .col-md-9{float:left}.ptx-runestone-container .col-md-12,.runestone-sphinx .col-md-12{width:100%}.ptx-runestone-container .col-md-11,.runestone-sphinx .col-md-11{width:91.66666667%}.ptx-runestone-container .col-md-10,.runestone-sphinx .col-md-10{width:83.33333333%}.ptx-runestone-container .col-md-9,.runestone-sphinx .col-md-9{width:75%}.ptx-runestone-container .col-md-8,.runestone-sphinx .col-md-8{width:66.66666667%}.ptx-runestone-container .col-md-7,.runestone-sphinx .col-md-7{width:58.33333333%}.ptx-runestone-container .col-md-6,.runestone-sphinx .col-md-6{width:50%}.ptx-runestone-container .col-md-5,.runestone-sphinx .col-md-5{width:41.66666667%}.ptx-runestone-container .col-md-4,.runestone-sphinx .col-md-4{width:33.33333333%}.ptx-runestone-container .col-md-3,.runestone-sphinx .col-md-3{width:25%}.ptx-runestone-container .col-md-2,.runestone-sphinx .col-md-2{width:16.66666667%}.ptx-runestone-container .col-md-1,.runestone-sphinx .col-md-1{width:8.33333333%}.ptx-runestone-container .col-md-pull-12,.runestone-sphinx .col-md-pull-12{right:100%}.ptx-runestone-container .col-md-pull-11,.runestone-sphinx .col-md-pull-11{right:91.66666667%}.ptx-runestone-container .col-md-pull-10,.runestone-sphinx .col-md-pull-10{right:83.33333333%}.ptx-runestone-container .col-md-pull-9,.runestone-sphinx .col-md-pull-9{right:75%}.ptx-runestone-container .col-md-pull-8,.runestone-sphinx .col-md-pull-8{right:66.66666667%}.ptx-runestone-container .col-md-pull-7,.runestone-sphinx .col-md-pull-7{right:58.33333333%}.ptx-runestone-container .col-md-pull-6,.runestone-sphinx .col-md-pull-6{right:50%}.ptx-runestone-container .col-md-pull-5,.runestone-sphinx .col-md-pull-5{right:41.66666667%}.ptx-runestone-container .col-md-pull-4,.runestone-sphinx .col-md-pull-4{right:33.33333333%}.ptx-runestone-container .col-md-pull-3,.runestone-sphinx .col-md-pull-3{right:25%}.ptx-runestone-container .col-md-pull-2,.runestone-sphinx .col-md-pull-2{right:16.66666667%}.ptx-runestone-container .col-md-pull-1,.runestone-sphinx .col-md-pull-1{right:8.33333333%}.ptx-runestone-container .col-md-pull-0,.runestone-sphinx .col-md-pull-0{right:auto}.ptx-runestone-container .col-md-push-12,.runestone-sphinx .col-md-push-12{left:100%}.ptx-runestone-container .col-md-push-11,.runestone-sphinx .col-md-push-11{left:91.66666667%}.ptx-runestone-container .col-md-push-10,.runestone-sphinx .col-md-push-10{left:83.33333333%}.ptx-runestone-container .col-md-push-9,.runestone-sphinx .col-md-push-9{left:75%}.ptx-runestone-container .col-md-push-8,.runestone-sphinx .col-md-push-8{left:66.66666667%}.ptx-runestone-container .col-md-push-7,.runestone-sphinx .col-md-push-7{left:58.33333333%}.ptx-runestone-container .col-md-push-6,.runestone-sphinx .col-md-push-6{left:50%}.ptx-runestone-container .col-md-push-5,.runestone-sphinx .col-md-push-5{left:41.66666667%}.ptx-runestone-container .col-md-push-4,.runestone-sphinx .col-md-push-4{left:33.33333333%}.ptx-runestone-container .col-md-push-3,.runestone-sphinx .col-md-push-3{left:25%}.ptx-runestone-container .col-md-push-2,.runestone-sphinx .col-md-push-2{left:16.66666667%}.ptx-runestone-container .col-md-push-1,.runestone-sphinx .col-md-push-1{left:8.33333333%}.ptx-runestone-container .col-md-push-0,.runestone-sphinx .col-md-push-0{left:auto}.ptx-runestone-container .col-md-offset-12,.runestone-sphinx .col-md-offset-12{margin-left:100%}.ptx-runestone-container .col-md-offset-11,.runestone-sphinx .col-md-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-md-offset-10,.runestone-sphinx .col-md-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-md-offset-9,.runestone-sphinx .col-md-offset-9{margin-left:75%}.ptx-runestone-container .col-md-offset-8,.runestone-sphinx .col-md-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-md-offset-7,.runestone-sphinx .col-md-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-md-offset-6,.runestone-sphinx .col-md-offset-6{margin-left:50%}.ptx-runestone-container .col-md-offset-5,.runestone-sphinx .col-md-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-md-offset-4,.runestone-sphinx .col-md-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-md-offset-3,.runestone-sphinx .col-md-offset-3{margin-left:25%}.ptx-runestone-container .col-md-offset-2,.runestone-sphinx .col-md-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-md-offset-1,.runestone-sphinx .col-md-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-md-offset-0,.runestone-sphinx .col-md-offset-0{margin-left:0}}@media (min-width:1200px){.ptx-runestone-container .col-lg-1,.ptx-runestone-container .col-lg-10,.ptx-runestone-container .col-lg-11,.ptx-runestone-container .col-lg-12,.ptx-runestone-container .col-lg-2,.ptx-runestone-container .col-lg-3,.ptx-runestone-container .col-lg-4,.ptx-runestone-container .col-lg-5,.ptx-runestone-container .col-lg-6,.ptx-runestone-container .col-lg-7,.ptx-runestone-container .col-lg-8,.ptx-runestone-container .col-lg-9,.runestone-sphinx .col-lg-1,.runestone-sphinx .col-lg-10,.runestone-sphinx .col-lg-11,.runestone-sphinx .col-lg-12,.runestone-sphinx .col-lg-2,.runestone-sphinx .col-lg-3,.runestone-sphinx .col-lg-4,.runestone-sphinx .col-lg-5,.runestone-sphinx .col-lg-6,.runestone-sphinx .col-lg-7,.runestone-sphinx .col-lg-8,.runestone-sphinx .col-lg-9{float:left}.ptx-runestone-container .col-lg-12,.runestone-sphinx .col-lg-12{width:100%}.ptx-runestone-container .col-lg-11,.runestone-sphinx .col-lg-11{width:91.66666667%}.ptx-runestone-container .col-lg-10,.runestone-sphinx .col-lg-10{width:83.33333333%}.ptx-runestone-container .col-lg-9,.runestone-sphinx .col-lg-9{width:75%}.ptx-runestone-container .col-lg-8,.runestone-sphinx .col-lg-8{width:66.66666667%}.ptx-runestone-container .col-lg-7,.runestone-sphinx .col-lg-7{width:58.33333333%}.ptx-runestone-container .col-lg-6,.runestone-sphinx .col-lg-6{width:50%}.ptx-runestone-container .col-lg-5,.runestone-sphinx .col-lg-5{width:41.66666667%}.ptx-runestone-container .col-lg-4,.runestone-sphinx .col-lg-4{width:33.33333333%}.ptx-runestone-container .col-lg-3,.runestone-sphinx .col-lg-3{width:25%}.ptx-runestone-container .col-lg-2,.runestone-sphinx .col-lg-2{width:16.66666667%}.ptx-runestone-container .col-lg-1,.runestone-sphinx .col-lg-1{width:8.33333333%}.ptx-runestone-container .col-lg-pull-12,.runestone-sphinx .col-lg-pull-12{right:100%}.ptx-runestone-container .col-lg-pull-11,.runestone-sphinx .col-lg-pull-11{right:91.66666667%}.ptx-runestone-container .col-lg-pull-10,.runestone-sphinx .col-lg-pull-10{right:83.33333333%}.ptx-runestone-container .col-lg-pull-9,.runestone-sphinx .col-lg-pull-9{right:75%}.ptx-runestone-container .col-lg-pull-8,.runestone-sphinx .col-lg-pull-8{right:66.66666667%}.ptx-runestone-container .col-lg-pull-7,.runestone-sphinx .col-lg-pull-7{right:58.33333333%}.ptx-runestone-container .col-lg-pull-6,.runestone-sphinx .col-lg-pull-6{right:50%}.ptx-runestone-container .col-lg-pull-5,.runestone-sphinx .col-lg-pull-5{right:41.66666667%}.ptx-runestone-container .col-lg-pull-4,.runestone-sphinx .col-lg-pull-4{right:33.33333333%}.ptx-runestone-container .col-lg-pull-3,.runestone-sphinx .col-lg-pull-3{right:25%}.ptx-runestone-container .col-lg-pull-2,.runestone-sphinx .col-lg-pull-2{right:16.66666667%}.ptx-runestone-container .col-lg-pull-1,.runestone-sphinx .col-lg-pull-1{right:8.33333333%}.ptx-runestone-container .col-lg-pull-0,.runestone-sphinx .col-lg-pull-0{right:auto}.ptx-runestone-container .col-lg-push-12,.runestone-sphinx .col-lg-push-12{left:100%}.ptx-runestone-container .col-lg-push-11,.runestone-sphinx .col-lg-push-11{left:91.66666667%}.ptx-runestone-container .col-lg-push-10,.runestone-sphinx .col-lg-push-10{left:83.33333333%}.ptx-runestone-container .col-lg-push-9,.runestone-sphinx .col-lg-push-9{left:75%}.ptx-runestone-container .col-lg-push-8,.runestone-sphinx .col-lg-push-8{left:66.66666667%}.ptx-runestone-container .col-lg-push-7,.runestone-sphinx .col-lg-push-7{left:58.33333333%}.ptx-runestone-container .col-lg-push-6,.runestone-sphinx .col-lg-push-6{left:50%}.ptx-runestone-container .col-lg-push-5,.runestone-sphinx .col-lg-push-5{left:41.66666667%}.ptx-runestone-container .col-lg-push-4,.runestone-sphinx .col-lg-push-4{left:33.33333333%}.ptx-runestone-container .col-lg-push-3,.runestone-sphinx .col-lg-push-3{left:25%}.ptx-runestone-container .col-lg-push-2,.runestone-sphinx .col-lg-push-2{left:16.66666667%}.ptx-runestone-container .col-lg-push-1,.runestone-sphinx .col-lg-push-1{left:8.33333333%}.ptx-runestone-container .col-lg-push-0,.runestone-sphinx .col-lg-push-0{left:auto}.ptx-runestone-container .col-lg-offset-12,.runestone-sphinx .col-lg-offset-12{margin-left:100%}.ptx-runestone-container .col-lg-offset-11,.runestone-sphinx .col-lg-offset-11{margin-left:91.66666667%}.ptx-runestone-container .col-lg-offset-10,.runestone-sphinx .col-lg-offset-10{margin-left:83.33333333%}.ptx-runestone-container .col-lg-offset-9,.runestone-sphinx .col-lg-offset-9{margin-left:75%}.ptx-runestone-container .col-lg-offset-8,.runestone-sphinx .col-lg-offset-8{margin-left:66.66666667%}.ptx-runestone-container .col-lg-offset-7,.runestone-sphinx .col-lg-offset-7{margin-left:58.33333333%}.ptx-runestone-container .col-lg-offset-6,.runestone-sphinx .col-lg-offset-6{margin-left:50%}.ptx-runestone-container .col-lg-offset-5,.runestone-sphinx .col-lg-offset-5{margin-left:41.66666667%}.ptx-runestone-container .col-lg-offset-4,.runestone-sphinx .col-lg-offset-4{margin-left:33.33333333%}.ptx-runestone-container .col-lg-offset-3,.runestone-sphinx .col-lg-offset-3{margin-left:25%}.ptx-runestone-container .col-lg-offset-2,.runestone-sphinx .col-lg-offset-2{margin-left:16.66666667%}.ptx-runestone-container .col-lg-offset-1,.runestone-sphinx .col-lg-offset-1{margin-left:8.33333333%}.ptx-runestone-container .col-lg-offset-0,.runestone-sphinx .col-lg-offset-0{margin-left:0}}.ptx-runestone-container table,.runestone-sphinx table{background-color:transparent}.ptx-runestone-container table col[class*=col-],.runestone-sphinx table col[class*=col-]{display:table-column;float:none;position:static}.ptx-runestone-container table td[class*=col-],.ptx-runestone-container table th[class*=col-],.runestone-sphinx table td[class*=col-],.runestone-sphinx table th[class*=col-]{display:table-cell;float:none;position:static}.ptx-runestone-container caption,.runestone-sphinx caption{color:#777;padding-bottom:8px;padding-top:8px;text-align:left}.ptx-runestone-container th,.runestone-sphinx th{text-align:left}.ptx-runestone-container .table,.runestone-sphinx .table{margin-bottom:20px;max-width:100%;width:100%}.ptx-runestone-container .table>tbody>tr>td,.ptx-runestone-container .table>tbody>tr>th,.ptx-runestone-container .table>tfoot>tr>td,.ptx-runestone-container .table>tfoot>tr>th,.ptx-runestone-container .table>thead>tr>td,.ptx-runestone-container .table>thead>tr>th,.runestone-sphinx .table>tbody>tr>td,.runestone-sphinx .table>tbody>tr>th,.runestone-sphinx .table>tfoot>tr>td,.runestone-sphinx .table>tfoot>tr>th,.runestone-sphinx .table>thead>tr>td,.runestone-sphinx .table>thead>tr>th{border-top:1px solid #ddd;line-height:1.42857143;padding:8px;vertical-align:top}.ptx-runestone-container .table>thead>tr>th,.runestone-sphinx .table>thead>tr>th{border-bottom:2px solid #ddd;vertical-align:bottom}.ptx-runestone-container .table>caption+thead>tr:first-child>td,.ptx-runestone-container .table>caption+thead>tr:first-child>th,.ptx-runestone-container .table>colgroup+thead>tr:first-child>td,.ptx-runestone-container .table>colgroup+thead>tr:first-child>th,.ptx-runestone-container .table>thead:first-child>tr:first-child>td,.ptx-runestone-container .table>thead:first-child>tr:first-child>th,.runestone-sphinx .table>caption+thead>tr:first-child>td,.runestone-sphinx .table>caption+thead>tr:first-child>th,.runestone-sphinx .table>colgroup+thead>tr:first-child>td,.runestone-sphinx .table>colgroup+thead>tr:first-child>th,.runestone-sphinx .table>thead:first-child>tr:first-child>td,.runestone-sphinx .table>thead:first-child>tr:first-child>th{border-top:0}.ptx-runestone-container .table>tbody+tbody,.runestone-sphinx .table>tbody+tbody{border-top:2px solid #ddd}.ptx-runestone-container .table .table,.runestone-sphinx .table .table{background-color:#fff}.ptx-runestone-container .table-condensed>tbody>tr>td,.ptx-runestone-container .table-condensed>tbody>tr>th,.ptx-runestone-container .table-condensed>tfoot>tr>td,.ptx-runestone-container .table-condensed>tfoot>tr>th,.ptx-runestone-container .table-condensed>thead>tr>td,.ptx-runestone-container .table-condensed>thead>tr>th,.runestone-sphinx .table-condensed>tbody>tr>td,.runestone-sphinx .table-condensed>tbody>tr>th,.runestone-sphinx .table-condensed>tfoot>tr>td,.runestone-sphinx .table-condensed>tfoot>tr>th,.runestone-sphinx .table-condensed>thead>tr>td,.runestone-sphinx .table-condensed>thead>tr>th{padding:5px}.ptx-runestone-container .table-bordered,.ptx-runestone-container .table-bordered>tbody>tr>td,.ptx-runestone-container .table-bordered>tbody>tr>th,.ptx-runestone-container .table-bordered>tfoot>tr>td,.ptx-runestone-container .table-bordered>tfoot>tr>th,.ptx-runestone-container .table-bordered>thead>tr>td,.ptx-runestone-container .table-bordered>thead>tr>th,.runestone-sphinx .table-bordered,.runestone-sphinx .table-bordered>tbody>tr>td,.runestone-sphinx .table-bordered>tbody>tr>th,.runestone-sphinx .table-bordered>tfoot>tr>td,.runestone-sphinx .table-bordered>tfoot>tr>th,.runestone-sphinx .table-bordered>thead>tr>td,.runestone-sphinx .table-bordered>thead>tr>th{border:1px solid #ddd}.ptx-runestone-container .table-bordered>thead>tr>td,.ptx-runestone-container .table-bordered>thead>tr>th,.runestone-sphinx .table-bordered>thead>tr>td,.runestone-sphinx .table-bordered>thead>tr>th{border-bottom-width:2px}.ptx-runestone-container .table-striped>tbody>tr:nth-of-type(odd),.runestone-sphinx .table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.ptx-runestone-container .table-hover>tbody>tr:hover,.ptx-runestone-container .table>tbody>tr.active>td,.ptx-runestone-container .table>tbody>tr.active>th,.ptx-runestone-container .table>tbody>tr>td.active,.ptx-runestone-container .table>tbody>tr>th.active,.ptx-runestone-container .table>tfoot>tr.active>td,.ptx-runestone-container .table>tfoot>tr.active>th,.ptx-runestone-container .table>tfoot>tr>td.active,.ptx-runestone-container .table>tfoot>tr>th.active,.ptx-runestone-container .table>thead>tr.active>td,.ptx-runestone-container .table>thead>tr.active>th,.ptx-runestone-container .table>thead>tr>td.active,.ptx-runestone-container .table>thead>tr>th.active,.runestone-sphinx .table-hover>tbody>tr:hover,.runestone-sphinx .table>tbody>tr.active>td,.runestone-sphinx .table>tbody>tr.active>th,.runestone-sphinx .table>tbody>tr>td.active,.runestone-sphinx .table>tbody>tr>th.active,.runestone-sphinx .table>tfoot>tr.active>td,.runestone-sphinx .table>tfoot>tr.active>th,.runestone-sphinx .table>tfoot>tr>td.active,.runestone-sphinx .table>tfoot>tr>th.active,.runestone-sphinx .table>thead>tr.active>td,.runestone-sphinx .table>thead>tr.active>th,.runestone-sphinx .table>thead>tr>td.active,.runestone-sphinx .table>thead>tr>th.active{background-color:#f5f5f5}.ptx-runestone-container .table-hover>tbody>tr.active:hover>td,.ptx-runestone-container .table-hover>tbody>tr.active:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.active,.ptx-runestone-container .table-hover>tbody>tr>td.active:hover,.ptx-runestone-container .table-hover>tbody>tr>th.active:hover,.runestone-sphinx .table-hover>tbody>tr.active:hover>td,.runestone-sphinx .table-hover>tbody>tr.active:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.active,.runestone-sphinx .table-hover>tbody>tr>td.active:hover,.runestone-sphinx .table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.ptx-runestone-container .table>tbody>tr.success>td,.ptx-runestone-container .table>tbody>tr.success>th,.ptx-runestone-container .table>tbody>tr>td.success,.ptx-runestone-container .table>tbody>tr>th.success,.ptx-runestone-container .table>tfoot>tr.success>td,.ptx-runestone-container .table>tfoot>tr.success>th,.ptx-runestone-container .table>tfoot>tr>td.success,.ptx-runestone-container .table>tfoot>tr>th.success,.ptx-runestone-container .table>thead>tr.success>td,.ptx-runestone-container .table>thead>tr.success>th,.ptx-runestone-container .table>thead>tr>td.success,.ptx-runestone-container .table>thead>tr>th.success,.runestone-sphinx .table>tbody>tr.success>td,.runestone-sphinx .table>tbody>tr.success>th,.runestone-sphinx .table>tbody>tr>td.success,.runestone-sphinx .table>tbody>tr>th.success,.runestone-sphinx .table>tfoot>tr.success>td,.runestone-sphinx .table>tfoot>tr.success>th,.runestone-sphinx .table>tfoot>tr>td.success,.runestone-sphinx .table>tfoot>tr>th.success,.runestone-sphinx .table>thead>tr.success>td,.runestone-sphinx .table>thead>tr.success>th,.runestone-sphinx .table>thead>tr>td.success,.runestone-sphinx .table>thead>tr>th.success{background-color:#dff0d8}.ptx-runestone-container .table-hover>tbody>tr.success:hover>td,.ptx-runestone-container .table-hover>tbody>tr.success:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.success,.ptx-runestone-container .table-hover>tbody>tr>td.success:hover,.ptx-runestone-container .table-hover>tbody>tr>th.success:hover,.runestone-sphinx .table-hover>tbody>tr.success:hover>td,.runestone-sphinx .table-hover>tbody>tr.success:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.success,.runestone-sphinx .table-hover>tbody>tr>td.success:hover,.runestone-sphinx .table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.ptx-runestone-container .table>tbody>tr.info>td,.ptx-runestone-container .table>tbody>tr.info>th,.ptx-runestone-container .table>tbody>tr>td.info,.ptx-runestone-container .table>tbody>tr>th.info,.ptx-runestone-container .table>tfoot>tr.info>td,.ptx-runestone-container .table>tfoot>tr.info>th,.ptx-runestone-container .table>tfoot>tr>td.info,.ptx-runestone-container .table>tfoot>tr>th.info,.ptx-runestone-container .table>thead>tr.info>td,.ptx-runestone-container .table>thead>tr.info>th,.ptx-runestone-container .table>thead>tr>td.info,.ptx-runestone-container .table>thead>tr>th.info,.runestone-sphinx .table>tbody>tr.info>td,.runestone-sphinx .table>tbody>tr.info>th,.runestone-sphinx .table>tbody>tr>td.info,.runestone-sphinx .table>tbody>tr>th.info,.runestone-sphinx .table>tfoot>tr.info>td,.runestone-sphinx .table>tfoot>tr.info>th,.runestone-sphinx .table>tfoot>tr>td.info,.runestone-sphinx .table>tfoot>tr>th.info,.runestone-sphinx .table>thead>tr.info>td,.runestone-sphinx .table>thead>tr.info>th,.runestone-sphinx .table>thead>tr>td.info,.runestone-sphinx .table>thead>tr>th.info{background-color:#d9edf7}.ptx-runestone-container .table-hover>tbody>tr.info:hover>td,.ptx-runestone-container .table-hover>tbody>tr.info:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.info,.ptx-runestone-container .table-hover>tbody>tr>td.info:hover,.ptx-runestone-container .table-hover>tbody>tr>th.info:hover,.runestone-sphinx .table-hover>tbody>tr.info:hover>td,.runestone-sphinx .table-hover>tbody>tr.info:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.info,.runestone-sphinx .table-hover>tbody>tr>td.info:hover,.runestone-sphinx .table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.ptx-runestone-container .table>tbody>tr.warning>td,.ptx-runestone-container .table>tbody>tr.warning>th,.ptx-runestone-container .table>tbody>tr>td.warning,.ptx-runestone-container .table>tbody>tr>th.warning,.ptx-runestone-container .table>tfoot>tr.warning>td,.ptx-runestone-container .table>tfoot>tr.warning>th,.ptx-runestone-container .table>tfoot>tr>td.warning,.ptx-runestone-container .table>tfoot>tr>th.warning,.ptx-runestone-container .table>thead>tr.warning>td,.ptx-runestone-container .table>thead>tr.warning>th,.ptx-runestone-container .table>thead>tr>td.warning,.ptx-runestone-container .table>thead>tr>th.warning,.runestone-sphinx .table>tbody>tr.warning>td,.runestone-sphinx .table>tbody>tr.warning>th,.runestone-sphinx .table>tbody>tr>td.warning,.runestone-sphinx .table>tbody>tr>th.warning,.runestone-sphinx .table>tfoot>tr.warning>td,.runestone-sphinx .table>tfoot>tr.warning>th,.runestone-sphinx .table>tfoot>tr>td.warning,.runestone-sphinx .table>tfoot>tr>th.warning,.runestone-sphinx .table>thead>tr.warning>td,.runestone-sphinx .table>thead>tr.warning>th,.runestone-sphinx .table>thead>tr>td.warning,.runestone-sphinx .table>thead>tr>th.warning{background-color:#fcf8e3}.ptx-runestone-container .table-hover>tbody>tr.warning:hover>td,.ptx-runestone-container .table-hover>tbody>tr.warning:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.warning,.ptx-runestone-container .table-hover>tbody>tr>td.warning:hover,.ptx-runestone-container .table-hover>tbody>tr>th.warning:hover,.runestone-sphinx .table-hover>tbody>tr.warning:hover>td,.runestone-sphinx .table-hover>tbody>tr.warning:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.warning,.runestone-sphinx .table-hover>tbody>tr>td.warning:hover,.runestone-sphinx .table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.ptx-runestone-container .table>tbody>tr.danger>td,.ptx-runestone-container .table>tbody>tr.danger>th,.ptx-runestone-container .table>tbody>tr>td.danger,.ptx-runestone-container .table>tbody>tr>th.danger,.ptx-runestone-container .table>tfoot>tr.danger>td,.ptx-runestone-container .table>tfoot>tr.danger>th,.ptx-runestone-container .table>tfoot>tr>td.danger,.ptx-runestone-container .table>tfoot>tr>th.danger,.ptx-runestone-container .table>thead>tr.danger>td,.ptx-runestone-container .table>thead>tr.danger>th,.ptx-runestone-container .table>thead>tr>td.danger,.ptx-runestone-container .table>thead>tr>th.danger,.runestone-sphinx .table>tbody>tr.danger>td,.runestone-sphinx .table>tbody>tr.danger>th,.runestone-sphinx .table>tbody>tr>td.danger,.runestone-sphinx .table>tbody>tr>th.danger,.runestone-sphinx .table>tfoot>tr.danger>td,.runestone-sphinx .table>tfoot>tr.danger>th,.runestone-sphinx .table>tfoot>tr>td.danger,.runestone-sphinx .table>tfoot>tr>th.danger,.runestone-sphinx .table>thead>tr.danger>td,.runestone-sphinx .table>thead>tr.danger>th,.runestone-sphinx .table>thead>tr>td.danger,.runestone-sphinx .table>thead>tr>th.danger{background-color:#f2dede}.ptx-runestone-container .table-hover>tbody>tr.danger:hover>td,.ptx-runestone-container .table-hover>tbody>tr.danger:hover>th,.ptx-runestone-container .table-hover>tbody>tr:hover>.danger,.ptx-runestone-container .table-hover>tbody>tr>td.danger:hover,.ptx-runestone-container .table-hover>tbody>tr>th.danger:hover,.runestone-sphinx .table-hover>tbody>tr.danger:hover>td,.runestone-sphinx .table-hover>tbody>tr.danger:hover>th,.runestone-sphinx .table-hover>tbody>tr:hover>.danger,.runestone-sphinx .table-hover>tbody>tr>td.danger:hover,.runestone-sphinx .table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.ptx-runestone-container .table-responsive,.runestone-sphinx .table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.ptx-runestone-container .table-responsive,.runestone-sphinx .table-responsive{-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;margin-bottom:15px;overflow-y:hidden;width:100%}.ptx-runestone-container .table-responsive>.table,.runestone-sphinx .table-responsive>.table{margin-bottom:0}.ptx-runestone-container .table-responsive>.table>tbody>tr>td,.ptx-runestone-container .table-responsive>.table>tbody>tr>th,.ptx-runestone-container .table-responsive>.table>tfoot>tr>td,.ptx-runestone-container .table-responsive>.table>tfoot>tr>th,.ptx-runestone-container .table-responsive>.table>thead>tr>td,.ptx-runestone-container .table-responsive>.table>thead>tr>th,.runestone-sphinx .table-responsive>.table>tbody>tr>td,.runestone-sphinx .table-responsive>.table>tbody>tr>th,.runestone-sphinx .table-responsive>.table>tfoot>tr>td,.runestone-sphinx .table-responsive>.table>tfoot>tr>th,.runestone-sphinx .table-responsive>.table>thead>tr>td,.runestone-sphinx .table-responsive>.table>thead>tr>th{white-space:nowrap}.ptx-runestone-container .table-responsive>.table-bordered,.runestone-sphinx .table-responsive>.table-bordered{border:0}.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>td:first-child,.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>th:first-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>td:first-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>th:first-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>td:first-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>th:first-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>td:first-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>th:first-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>td:first-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>th:first-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>td:first-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>td:last-child,.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr>th:last-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>td:last-child,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr>th:last-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>td:last-child,.ptx-runestone-container .table-responsive>.table-bordered>thead>tr>th:last-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>td:last-child,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr>th:last-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>td:last-child,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr>th:last-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>td:last-child,.runestone-sphinx .table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr:last-child>td,.ptx-runestone-container .table-responsive>.table-bordered>tbody>tr:last-child>th,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr:last-child>td,.ptx-runestone-container .table-responsive>.table-bordered>tfoot>tr:last-child>th,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr:last-child>td,.runestone-sphinx .table-responsive>.table-bordered>tbody>tr:last-child>th,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr:last-child>td,.runestone-sphinx .table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}.ptx-runestone-container fieldset,.runestone-sphinx fieldset{border:0;margin:0;min-width:0;padding:0}.ptx-runestone-container legend,.runestone-sphinx legend{border:0;border-bottom:1px solid #e5e5e5;color:#333;display:block;font-size:21px;line-height:inherit;margin-bottom:20px;padding:0;width:100%}.ptx-runestone-container label,.runestone-sphinx label{display:inline-block;font-weight:700;margin-bottom:5px;max-width:100%}.ptx-runestone-container input[type=search],.runestone-sphinx input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ptx-runestone-container input[type=checkbox],.ptx-runestone-container input[type=radio],.runestone-sphinx input[type=checkbox],.runestone-sphinx input[type=radio]{line-height:normal;margin:4px 0 0;margin-top:1px\9}.ptx-runestone-container fieldset[disabled] input[type=checkbox],.ptx-runestone-container fieldset[disabled] input[type=radio],.ptx-runestone-container input[type=checkbox].disabled,.ptx-runestone-container input[type=checkbox][disabled],.ptx-runestone-container input[type=radio].disabled,.ptx-runestone-container input[type=radio][disabled],.runestone-sphinx fieldset[disabled] input[type=checkbox],.runestone-sphinx fieldset[disabled] input[type=radio],.runestone-sphinx input[type=checkbox].disabled,.runestone-sphinx input[type=checkbox][disabled],.runestone-sphinx input[type=radio].disabled,.runestone-sphinx input[type=radio][disabled]{cursor:not-allowed}.ptx-runestone-container input[type=file],.runestone-sphinx input[type=file]{display:block}.ptx-runestone-container input[type=range],.runestone-sphinx input[type=range]{display:block;width:100%}.ptx-runestone-container select[multiple],.ptx-runestone-container select[size],.runestone-sphinx select[multiple],.runestone-sphinx select[size]{height:auto}.ptx-runestone-container input[type=checkbox]:focus,.ptx-runestone-container input[type=file]:focus,.ptx-runestone-container input[type=radio]:focus,.runestone-sphinx input[type=checkbox]:focus,.runestone-sphinx input[type=file]:focus,.runestone-sphinx input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.ptx-runestone-container output,.runestone-sphinx output{color:#555;display:block;font-size:14px;line-height:1.42857143;padding-top:7px}.ptx-runestone-container .form-control,.runestone-sphinx .form-control{background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);color:#555;display:block;font-size:14px;height:34px;line-height:1.42857143;padding:6px 12px;-webkit-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-o-transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;width:100%}.ptx-runestone-container .form-control:focus,.runestone-sphinx .form-control:focus{border-color:#66afe9;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);outline:0}.ptx-runestone-container .form-control::-moz-placeholder,.runestone-sphinx .form-control::-moz-placeholder{color:#999;opacity:1}.ptx-runestone-container .form-control:-ms-input-placeholder,.runestone-sphinx .form-control:-ms-input-placeholder{color:#999}.ptx-runestone-container .form-control::-webkit-input-placeholder,.runestone-sphinx .form-control::-webkit-input-placeholder{color:#999}.ptx-runestone-container .form-control::-ms-expand,.runestone-sphinx .form-control::-ms-expand{background-color:transparent;border:0}.ptx-runestone-container .form-control[disabled],.ptx-runestone-container .form-control[readonly],.ptx-runestone-container fieldset[disabled] .form-control,.runestone-sphinx .form-control[disabled],.runestone-sphinx .form-control[readonly],.runestone-sphinx fieldset[disabled] .form-control{background-color:#eee;opacity:1}.ptx-runestone-container .form-control[disabled],.ptx-runestone-container fieldset[disabled] .form-control,.runestone-sphinx .form-control[disabled],.runestone-sphinx fieldset[disabled] .form-control{cursor:not-allowed}.ptx-runestone-container textarea.form-control,.runestone-sphinx textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){.ptx-runestone-container input[type=date].form-control,.ptx-runestone-container input[type=datetime-local].form-control,.ptx-runestone-container input[type=month].form-control,.ptx-runestone-container input[type=time].form-control,.runestone-sphinx input[type=date].form-control,.runestone-sphinx input[type=datetime-local].form-control,.runestone-sphinx input[type=month].form-control,.runestone-sphinx input[type=time].form-control{line-height:34px}.ptx-runestone-container .input-group-sm input[type=date],.ptx-runestone-container .input-group-sm input[type=datetime-local],.ptx-runestone-container .input-group-sm input[type=month],.ptx-runestone-container .input-group-sm input[type=time],.ptx-runestone-container input[type=date].input-sm,.ptx-runestone-container input[type=datetime-local].input-sm,.ptx-runestone-container input[type=month].input-sm,.ptx-runestone-container input[type=time].input-sm,.runestone-sphinx .input-group-sm input[type=date],.runestone-sphinx .input-group-sm input[type=datetime-local],.runestone-sphinx .input-group-sm input[type=month],.runestone-sphinx .input-group-sm input[type=time],.runestone-sphinx input[type=date].input-sm,.runestone-sphinx input[type=datetime-local].input-sm,.runestone-sphinx input[type=month].input-sm,.runestone-sphinx input[type=time].input-sm{line-height:30px}.ptx-runestone-container .input-group-lg input[type=date],.ptx-runestone-container .input-group-lg input[type=datetime-local],.ptx-runestone-container .input-group-lg input[type=month],.ptx-runestone-container .input-group-lg input[type=time],.ptx-runestone-container input[type=date].input-lg,.ptx-runestone-container input[type=datetime-local].input-lg,.ptx-runestone-container input[type=month].input-lg,.ptx-runestone-container input[type=time].input-lg,.runestone-sphinx .input-group-lg input[type=date],.runestone-sphinx .input-group-lg input[type=datetime-local],.runestone-sphinx .input-group-lg input[type=month],.runestone-sphinx .input-group-lg input[type=time],.runestone-sphinx input[type=date].input-lg,.runestone-sphinx input[type=datetime-local].input-lg,.runestone-sphinx input[type=month].input-lg,.runestone-sphinx input[type=time].input-lg{line-height:46px}}.ptx-runestone-container .form-group,.runestone-sphinx .form-group{margin-bottom:15px}.ptx-runestone-container .checkbox,.ptx-runestone-container .radio,.runestone-sphinx .checkbox,.runestone-sphinx .radio{display:block;margin-bottom:10px;margin-top:10px;position:relative}.ptx-runestone-container .checkbox.disabled label,.ptx-runestone-container .radio.disabled label,.ptx-runestone-container fieldset[disabled] .checkbox label,.ptx-runestone-container fieldset[disabled] .radio label,.runestone-sphinx .checkbox.disabled label,.runestone-sphinx .radio.disabled label,.runestone-sphinx fieldset[disabled] .checkbox label,.runestone-sphinx fieldset[disabled] .radio label{cursor:not-allowed}.ptx-runestone-container .checkbox label,.ptx-runestone-container .radio label,.runestone-sphinx .checkbox label,.runestone-sphinx .radio label{cursor:pointer;font-weight:400;margin-bottom:0;min-height:20px;padding-left:20px}.ptx-runestone-container .checkbox input[type=checkbox],.ptx-runestone-container .checkbox-inline input[type=checkbox],.ptx-runestone-container .radio input[type=radio],.ptx-runestone-container .radio-inline input[type=radio],.runestone-sphinx .checkbox input[type=checkbox],.runestone-sphinx .checkbox-inline input[type=checkbox],.runestone-sphinx .radio input[type=radio],.runestone-sphinx .radio-inline input[type=radio]{margin-left:-20px;margin-top:4px\9;position:absolute}.ptx-runestone-container .checkbox+.checkbox,.ptx-runestone-container .radio+.radio,.runestone-sphinx .checkbox+.checkbox,.runestone-sphinx .radio+.radio{margin-top:-5px}.ptx-runestone-container .checkbox-inline,.ptx-runestone-container .radio-inline,.runestone-sphinx .checkbox-inline,.runestone-sphinx .radio-inline{cursor:pointer;display:inline-block;font-weight:400;margin-bottom:0;padding-left:20px;position:relative;vertical-align:middle}.ptx-runestone-container .checkbox-inline.disabled,.ptx-runestone-container .radio-inline.disabled,.ptx-runestone-container fieldset[disabled] .checkbox-inline,.ptx-runestone-container fieldset[disabled] .radio-inline,.runestone-sphinx .checkbox-inline.disabled,.runestone-sphinx .radio-inline.disabled,.runestone-sphinx fieldset[disabled] .checkbox-inline,.runestone-sphinx fieldset[disabled] .radio-inline{cursor:not-allowed}.ptx-runestone-container .checkbox-inline+.checkbox-inline,.ptx-runestone-container .radio-inline+.radio-inline,.runestone-sphinx .checkbox-inline+.checkbox-inline,.runestone-sphinx .radio-inline+.radio-inline{margin-left:10px;margin-top:0}.ptx-runestone-container .form-control-static,.runestone-sphinx .form-control-static{margin-bottom:0;min-height:34px;padding-bottom:7px;padding-top:7px}.ptx-runestone-container .form-control-static.input-lg,.ptx-runestone-container .form-control-static.input-sm,.runestone-sphinx .form-control-static.input-lg,.runestone-sphinx .form-control-static.input-sm{padding-left:0;padding-right:0}.ptx-runestone-container .input-sm,.runestone-sphinx .input-sm{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}.ptx-runestone-container select.input-sm,.runestone-sphinx select.input-sm{height:30px;line-height:30px}.ptx-runestone-container select[multiple].input-sm,.ptx-runestone-container textarea.input-sm,.runestone-sphinx select[multiple].input-sm,.runestone-sphinx textarea.input-sm{height:auto}.ptx-runestone-container .form-group-sm .form-control,.runestone-sphinx .form-group-sm .form-control{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}.ptx-runestone-container .form-group-sm select.form-control,.runestone-sphinx .form-group-sm select.form-control{height:30px;line-height:30px}.ptx-runestone-container .form-group-sm select[multiple].form-control,.ptx-runestone-container .form-group-sm textarea.form-control,.runestone-sphinx .form-group-sm select[multiple].form-control,.runestone-sphinx .form-group-sm textarea.form-control{height:auto}.ptx-runestone-container .form-group-sm .form-control-static,.runestone-sphinx .form-group-sm .form-control-static{font-size:12px;height:30px;line-height:1.5;min-height:32px;padding:6px 10px}.ptx-runestone-container .input-lg,.runestone-sphinx .input-lg{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container select.input-lg,.runestone-sphinx select.input-lg{height:46px;line-height:46px}.ptx-runestone-container select[multiple].input-lg,.ptx-runestone-container textarea.input-lg,.runestone-sphinx select[multiple].input-lg,.runestone-sphinx textarea.input-lg{height:auto}.ptx-runestone-container .form-group-lg .form-control,.runestone-sphinx .form-group-lg .form-control{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container .form-group-lg select.form-control,.runestone-sphinx .form-group-lg select.form-control{height:46px;line-height:46px}.ptx-runestone-container .form-group-lg select[multiple].form-control,.ptx-runestone-container .form-group-lg textarea.form-control,.runestone-sphinx .form-group-lg select[multiple].form-control,.runestone-sphinx .form-group-lg textarea.form-control{height:auto}.ptx-runestone-container .form-group-lg .form-control-static,.runestone-sphinx .form-group-lg .form-control-static{font-size:18px;height:46px;line-height:1.3333333;min-height:38px;padding:11px 16px}.ptx-runestone-container .has-feedback,.runestone-sphinx .has-feedback{position:relative}.ptx-runestone-container .has-feedback .form-control,.runestone-sphinx .has-feedback .form-control{padding-right:42.5px}.ptx-runestone-container .form-control-feedback,.runestone-sphinx .form-control-feedback{display:block;height:34px;line-height:34px;pointer-events:none;position:absolute;right:0;text-align:center;top:0;width:34px;z-index:2}.ptx-runestone-container .form-group-lg .form-control+.form-control-feedback,.ptx-runestone-container .input-group-lg+.form-control-feedback,.ptx-runestone-container .input-lg+.form-control-feedback,.runestone-sphinx .form-group-lg .form-control+.form-control-feedback,.runestone-sphinx .input-group-lg+.form-control-feedback,.runestone-sphinx .input-lg+.form-control-feedback{height:46px;line-height:46px;width:46px}.ptx-runestone-container .form-group-sm .form-control+.form-control-feedback,.ptx-runestone-container .input-group-sm+.form-control-feedback,.ptx-runestone-container .input-sm+.form-control-feedback,.runestone-sphinx .form-group-sm .form-control+.form-control-feedback,.runestone-sphinx .input-group-sm+.form-control-feedback,.runestone-sphinx .input-sm+.form-control-feedback{height:30px;line-height:30px;width:30px}.ptx-runestone-container .has-success .checkbox,.ptx-runestone-container .has-success .checkbox-inline,.ptx-runestone-container .has-success .control-label,.ptx-runestone-container .has-success .help-block,.ptx-runestone-container .has-success .radio,.ptx-runestone-container .has-success .radio-inline,.ptx-runestone-container .has-success.checkbox label,.ptx-runestone-container .has-success.checkbox-inline label,.ptx-runestone-container .has-success.radio label,.ptx-runestone-container .has-success.radio-inline label,.runestone-sphinx .has-success .checkbox,.runestone-sphinx .has-success .checkbox-inline,.runestone-sphinx .has-success .control-label,.runestone-sphinx .has-success .help-block,.runestone-sphinx .has-success .radio,.runestone-sphinx .has-success .radio-inline,.runestone-sphinx .has-success.checkbox label,.runestone-sphinx .has-success.checkbox-inline label,.runestone-sphinx .has-success.radio label,.runestone-sphinx .has-success.radio-inline label{color:#3c763d}.ptx-runestone-container .has-success .form-control,.runestone-sphinx .has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.ptx-runestone-container .has-success .form-control:focus,.runestone-sphinx .has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.ptx-runestone-container .has-success .input-group-addon,.runestone-sphinx .has-success .input-group-addon{background-color:#dff0d8;border-color:#3c763d;color:#3c763d}.ptx-runestone-container .has-success .form-control-feedback,.runestone-sphinx .has-success .form-control-feedback{color:#3c763d}.ptx-runestone-container .has-warning .checkbox,.ptx-runestone-container .has-warning .checkbox-inline,.ptx-runestone-container .has-warning .control-label,.ptx-runestone-container .has-warning .help-block,.ptx-runestone-container .has-warning .radio,.ptx-runestone-container .has-warning .radio-inline,.ptx-runestone-container .has-warning.checkbox label,.ptx-runestone-container .has-warning.checkbox-inline label,.ptx-runestone-container .has-warning.radio label,.ptx-runestone-container .has-warning.radio-inline label,.runestone-sphinx .has-warning .checkbox,.runestone-sphinx .has-warning .checkbox-inline,.runestone-sphinx .has-warning .control-label,.runestone-sphinx .has-warning .help-block,.runestone-sphinx .has-warning .radio,.runestone-sphinx .has-warning .radio-inline,.runestone-sphinx .has-warning.checkbox label,.runestone-sphinx .has-warning.checkbox-inline label,.runestone-sphinx .has-warning.radio label,.runestone-sphinx .has-warning.radio-inline label{color:#8a6d3b}.ptx-runestone-container .has-warning .form-control,.runestone-sphinx .has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.ptx-runestone-container .has-warning .form-control:focus,.runestone-sphinx .has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.ptx-runestone-container .has-warning .input-group-addon,.runestone-sphinx .has-warning .input-group-addon{background-color:#fcf8e3;border-color:#8a6d3b;color:#8a6d3b}.ptx-runestone-container .has-warning .form-control-feedback,.runestone-sphinx .has-warning .form-control-feedback{color:#8a6d3b}.ptx-runestone-container .has-error .checkbox,.ptx-runestone-container .has-error .checkbox-inline,.ptx-runestone-container .has-error .control-label,.ptx-runestone-container .has-error .help-block,.ptx-runestone-container .has-error .radio,.ptx-runestone-container .has-error .radio-inline,.ptx-runestone-container .has-error.checkbox label,.ptx-runestone-container .has-error.checkbox-inline label,.ptx-runestone-container .has-error.radio label,.ptx-runestone-container .has-error.radio-inline label,.runestone-sphinx .has-error .checkbox,.runestone-sphinx .has-error .checkbox-inline,.runestone-sphinx .has-error .control-label,.runestone-sphinx .has-error .help-block,.runestone-sphinx .has-error .radio,.runestone-sphinx .has-error .radio-inline,.runestone-sphinx .has-error.checkbox label,.runestone-sphinx .has-error.checkbox-inline label,.runestone-sphinx .has-error.radio label,.runestone-sphinx .has-error.radio-inline label{color:#a94442}.ptx-runestone-container .has-error .form-control,.runestone-sphinx .has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.ptx-runestone-container .has-error .form-control:focus,.runestone-sphinx .has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.ptx-runestone-container .has-error .input-group-addon,.runestone-sphinx .has-error .input-group-addon{background-color:#f2dede;border-color:#a94442;color:#a94442}.ptx-runestone-container .has-error .form-control-feedback,.runestone-sphinx .has-error .form-control-feedback{color:#a94442}.ptx-runestone-container .has-feedback label~.form-control-feedback,.runestone-sphinx .has-feedback label~.form-control-feedback{top:25px}.ptx-runestone-container .has-feedback label.sr-only~.form-control-feedback,.runestone-sphinx .has-feedback label.sr-only~.form-control-feedback{top:0}.ptx-runestone-container .help-block,.runestone-sphinx .help-block{color:#737373;display:block;margin-bottom:10px;margin-top:5px}@media (min-width:768px){.ptx-runestone-container .form-inline .form-group,.runestone-sphinx .form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.ptx-runestone-container .form-inline .form-control,.runestone-sphinx .form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.ptx-runestone-container .form-inline .form-control-static,.runestone-sphinx .form-inline .form-control-static{display:inline-block}.ptx-runestone-container .form-inline .input-group,.runestone-sphinx .form-inline .input-group{display:inline-table;vertical-align:middle}.ptx-runestone-container .form-inline .input-group .form-control,.ptx-runestone-container .form-inline .input-group .input-group-addon,.ptx-runestone-container .form-inline .input-group .input-group-btn,.runestone-sphinx .form-inline .input-group .form-control,.runestone-sphinx .form-inline .input-group .input-group-addon,.runestone-sphinx .form-inline .input-group .input-group-btn{width:auto}.ptx-runestone-container .form-inline .input-group>.form-control,.runestone-sphinx .form-inline .input-group>.form-control{width:100%}.ptx-runestone-container .form-inline .control-label,.runestone-sphinx .form-inline .control-label{margin-bottom:0;vertical-align:middle}.ptx-runestone-container .form-inline .checkbox,.ptx-runestone-container .form-inline .radio,.runestone-sphinx .form-inline .checkbox,.runestone-sphinx .form-inline .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.ptx-runestone-container .form-inline .checkbox label,.ptx-runestone-container .form-inline .radio label,.runestone-sphinx .form-inline .checkbox label,.runestone-sphinx .form-inline .radio label{padding-left:0}.ptx-runestone-container .form-inline .checkbox input[type=checkbox],.ptx-runestone-container .form-inline .radio input[type=radio],.runestone-sphinx .form-inline .checkbox input[type=checkbox],.runestone-sphinx .form-inline .radio input[type=radio]{margin-left:0;position:relative}.ptx-runestone-container .form-inline .has-feedback .form-control-feedback,.runestone-sphinx .form-inline .has-feedback .form-control-feedback{top:0}}.ptx-runestone-container .form-horizontal .checkbox,.ptx-runestone-container .form-horizontal .checkbox-inline,.ptx-runestone-container .form-horizontal .radio,.ptx-runestone-container .form-horizontal .radio-inline,.runestone-sphinx .form-horizontal .checkbox,.runestone-sphinx .form-horizontal .checkbox-inline,.runestone-sphinx .form-horizontal .radio,.runestone-sphinx .form-horizontal .radio-inline{margin-bottom:0;margin-top:0;padding-top:7px}.ptx-runestone-container .form-horizontal .checkbox,.ptx-runestone-container .form-horizontal .radio,.runestone-sphinx .form-horizontal .checkbox,.runestone-sphinx .form-horizontal .radio{min-height:27px}.ptx-runestone-container .form-horizontal .form-group,.runestone-sphinx .form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.ptx-runestone-container .form-horizontal .control-label,.runestone-sphinx .form-horizontal .control-label{margin-bottom:0;padding-top:7px;text-align:right}}.ptx-runestone-container .form-horizontal .has-feedback .form-control-feedback,.runestone-sphinx .form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.ptx-runestone-container .form-horizontal .form-group-lg .control-label,.runestone-sphinx .form-horizontal .form-group-lg .control-label{font-size:18px;padding-top:11px}.ptx-runestone-container .form-horizontal .form-group-sm .control-label,.runestone-sphinx .form-horizontal .form-group-sm .control-label{font-size:12px;padding-top:6px}}.ptx-runestone-container .btn,.runestone-sphinx .btn{background-image:none;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-block;font-size:14px;font-weight:400;line-height:1.42857143;margin-bottom:0;padding:6px 12px;text-align:center;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.ptx-runestone-container .btn.active.focus,.ptx-runestone-container .btn.active:focus,.ptx-runestone-container .btn.focus,.ptx-runestone-container .btn:active.focus,.ptx-runestone-container .btn:active:focus,.ptx-runestone-container .btn:focus,.runestone-sphinx .btn.active.focus,.runestone-sphinx .btn.active:focus,.runestone-sphinx .btn.focus,.runestone-sphinx .btn:active.focus,.runestone-sphinx .btn:active:focus,.runestone-sphinx .btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.ptx-runestone-container .btn.focus,.ptx-runestone-container .btn:focus,.ptx-runestone-container .btn:hover,.runestone-sphinx .btn.focus,.runestone-sphinx .btn:focus,.runestone-sphinx .btn:hover{color:#333;text-decoration:none}.ptx-runestone-container .btn.active,.ptx-runestone-container .btn:active,.runestone-sphinx .btn.active,.runestone-sphinx .btn:active{background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125);outline:0}.ptx-runestone-container .btn.disabled,.ptx-runestone-container .btn[disabled],.ptx-runestone-container fieldset[disabled] .btn,.runestone-sphinx .btn.disabled,.runestone-sphinx .btn[disabled],.runestone-sphinx fieldset[disabled] .btn{-webkit-box-shadow:none;box-shadow:none;cursor:not-allowed;filter:alpha(opacity=65);opacity:.65}.ptx-runestone-container a.btn.disabled,.ptx-runestone-container fieldset[disabled] a.btn,.runestone-sphinx a.btn.disabled,.runestone-sphinx fieldset[disabled] a.btn{pointer-events:none}.ptx-runestone-container .btn-default,.runestone-sphinx .btn-default{background-color:#fff;border-color:#ccc;color:#333}.ptx-runestone-container .btn-default.focus,.ptx-runestone-container .btn-default:focus,.runestone-sphinx .btn-default.focus,.runestone-sphinx .btn-default:focus{background-color:#e6e6e6;border-color:#8c8c8c;color:#333}.ptx-runestone-container .btn-default:hover,.runestone-sphinx .btn-default:hover{background-color:#e6e6e6;border-color:#adadad;color:#333}.ptx-runestone-container .btn-default.active,.ptx-runestone-container .btn-default:active,.ptx-runestone-container .open>.dropdown-toggle.btn-default,.runestone-sphinx .btn-default.active,.runestone-sphinx .btn-default:active,.runestone-sphinx .open>.dropdown-toggle.btn-default{background-color:#e6e6e6;background-image:none;border-color:#adadad;color:#333}.ptx-runestone-container .btn-default.active.focus,.ptx-runestone-container .btn-default.active:focus,.ptx-runestone-container .btn-default.active:hover,.ptx-runestone-container .btn-default:active.focus,.ptx-runestone-container .btn-default:active:focus,.ptx-runestone-container .btn-default:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-default.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-default:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-default:hover,.runestone-sphinx .btn-default.active.focus,.runestone-sphinx .btn-default.active:focus,.runestone-sphinx .btn-default.active:hover,.runestone-sphinx .btn-default:active.focus,.runestone-sphinx .btn-default:active:focus,.runestone-sphinx .btn-default:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-default.focus,.runestone-sphinx .open>.dropdown-toggle.btn-default:focus,.runestone-sphinx .open>.dropdown-toggle.btn-default:hover{background-color:#d4d4d4;border-color:#8c8c8c;color:#333}.ptx-runestone-container .btn-default.disabled.focus,.ptx-runestone-container .btn-default.disabled:focus,.ptx-runestone-container .btn-default.disabled:hover,.ptx-runestone-container .btn-default[disabled].focus,.ptx-runestone-container .btn-default[disabled]:focus,.ptx-runestone-container .btn-default[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-default.focus,.ptx-runestone-container fieldset[disabled] .btn-default:focus,.ptx-runestone-container fieldset[disabled] .btn-default:hover,.runestone-sphinx .btn-default.disabled.focus,.runestone-sphinx .btn-default.disabled:focus,.runestone-sphinx .btn-default.disabled:hover,.runestone-sphinx .btn-default[disabled].focus,.runestone-sphinx .btn-default[disabled]:focus,.runestone-sphinx .btn-default[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-default.focus,.runestone-sphinx fieldset[disabled] .btn-default:focus,.runestone-sphinx fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.ptx-runestone-container .btn-default .badge,.runestone-sphinx .btn-default .badge{background-color:#333;color:#fff}.ptx-runestone-container .btn-primary,.runestone-sphinx .btn-primary{background-color:#337ab7;border-color:#2e6da4;color:#fff}.ptx-runestone-container .btn-primary.focus,.ptx-runestone-container .btn-primary:focus,.runestone-sphinx .btn-primary.focus,.runestone-sphinx .btn-primary:focus{background-color:#286090;border-color:#122b40;color:#fff}.ptx-runestone-container .btn-primary:hover,.runestone-sphinx .btn-primary:hover{background-color:#286090;border-color:#204d74;color:#fff}.ptx-runestone-container .btn-primary.active,.ptx-runestone-container .btn-primary:active,.ptx-runestone-container .open>.dropdown-toggle.btn-primary,.runestone-sphinx .btn-primary.active,.runestone-sphinx .btn-primary:active,.runestone-sphinx .open>.dropdown-toggle.btn-primary{background-color:#286090;background-image:none;border-color:#204d74;color:#fff}.ptx-runestone-container .btn-primary.active.focus,.ptx-runestone-container .btn-primary.active:focus,.ptx-runestone-container .btn-primary.active:hover,.ptx-runestone-container .btn-primary:active.focus,.ptx-runestone-container .btn-primary:active:focus,.ptx-runestone-container .btn-primary:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-primary.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-primary:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-primary:hover,.runestone-sphinx .btn-primary.active.focus,.runestone-sphinx .btn-primary.active:focus,.runestone-sphinx .btn-primary.active:hover,.runestone-sphinx .btn-primary:active.focus,.runestone-sphinx .btn-primary:active:focus,.runestone-sphinx .btn-primary:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-primary.focus,.runestone-sphinx .open>.dropdown-toggle.btn-primary:focus,.runestone-sphinx .open>.dropdown-toggle.btn-primary:hover{background-color:#204d74;border-color:#122b40;color:#fff}.ptx-runestone-container .btn-primary.disabled.focus,.ptx-runestone-container .btn-primary.disabled:focus,.ptx-runestone-container .btn-primary.disabled:hover,.ptx-runestone-container .btn-primary[disabled].focus,.ptx-runestone-container .btn-primary[disabled]:focus,.ptx-runestone-container .btn-primary[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-primary.focus,.ptx-runestone-container fieldset[disabled] .btn-primary:focus,.ptx-runestone-container fieldset[disabled] .btn-primary:hover,.runestone-sphinx .btn-primary.disabled.focus,.runestone-sphinx .btn-primary.disabled:focus,.runestone-sphinx .btn-primary.disabled:hover,.runestone-sphinx .btn-primary[disabled].focus,.runestone-sphinx .btn-primary[disabled]:focus,.runestone-sphinx .btn-primary[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-primary.focus,.runestone-sphinx fieldset[disabled] .btn-primary:focus,.runestone-sphinx fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.ptx-runestone-container .btn-primary .badge,.runestone-sphinx .btn-primary .badge{background-color:#fff;color:#337ab7}.ptx-runestone-container .btn-success,.runestone-sphinx .btn-success{background-color:#5cb85c;border-color:#4cae4c;color:#fff}.ptx-runestone-container .btn-success.focus,.ptx-runestone-container .btn-success:focus,.runestone-sphinx .btn-success.focus,.runestone-sphinx .btn-success:focus{background-color:#449d44;border-color:#255625;color:#fff}.ptx-runestone-container .btn-success:hover,.runestone-sphinx .btn-success:hover{background-color:#449d44;border-color:#398439;color:#fff}.ptx-runestone-container .btn-success.active,.ptx-runestone-container .btn-success:active,.ptx-runestone-container .open>.dropdown-toggle.btn-success,.runestone-sphinx .btn-success.active,.runestone-sphinx .btn-success:active,.runestone-sphinx .open>.dropdown-toggle.btn-success{background-color:#449d44;background-image:none;border-color:#398439;color:#fff}.ptx-runestone-container .btn-success.active.focus,.ptx-runestone-container .btn-success.active:focus,.ptx-runestone-container .btn-success.active:hover,.ptx-runestone-container .btn-success:active.focus,.ptx-runestone-container .btn-success:active:focus,.ptx-runestone-container .btn-success:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-success.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-success:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-success:hover,.runestone-sphinx .btn-success.active.focus,.runestone-sphinx .btn-success.active:focus,.runestone-sphinx .btn-success.active:hover,.runestone-sphinx .btn-success:active.focus,.runestone-sphinx .btn-success:active:focus,.runestone-sphinx .btn-success:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-success.focus,.runestone-sphinx .open>.dropdown-toggle.btn-success:focus,.runestone-sphinx .open>.dropdown-toggle.btn-success:hover{background-color:#398439;border-color:#255625;color:#fff}.ptx-runestone-container .btn-success.disabled.focus,.ptx-runestone-container .btn-success.disabled:focus,.ptx-runestone-container .btn-success.disabled:hover,.ptx-runestone-container .btn-success[disabled].focus,.ptx-runestone-container .btn-success[disabled]:focus,.ptx-runestone-container .btn-success[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-success.focus,.ptx-runestone-container fieldset[disabled] .btn-success:focus,.ptx-runestone-container fieldset[disabled] .btn-success:hover,.runestone-sphinx .btn-success.disabled.focus,.runestone-sphinx .btn-success.disabled:focus,.runestone-sphinx .btn-success.disabled:hover,.runestone-sphinx .btn-success[disabled].focus,.runestone-sphinx .btn-success[disabled]:focus,.runestone-sphinx .btn-success[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-success.focus,.runestone-sphinx fieldset[disabled] .btn-success:focus,.runestone-sphinx fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.ptx-runestone-container .btn-success .badge,.runestone-sphinx .btn-success .badge{background-color:#fff;color:#5cb85c}.ptx-runestone-container .btn-info,.runestone-sphinx .btn-info{background-color:#5bc0de;border-color:#46b8da;color:#fff}.ptx-runestone-container .btn-info.focus,.ptx-runestone-container .btn-info:focus,.runestone-sphinx .btn-info.focus,.runestone-sphinx .btn-info:focus{background-color:#31b0d5;border-color:#1b6d85;color:#fff}.ptx-runestone-container .btn-info:hover,.runestone-sphinx .btn-info:hover{background-color:#31b0d5;border-color:#269abc;color:#fff}.ptx-runestone-container .btn-info.active,.ptx-runestone-container .btn-info:active,.ptx-runestone-container .open>.dropdown-toggle.btn-info,.runestone-sphinx .btn-info.active,.runestone-sphinx .btn-info:active,.runestone-sphinx .open>.dropdown-toggle.btn-info{background-color:#31b0d5;background-image:none;border-color:#269abc;color:#fff}.ptx-runestone-container .btn-info.active.focus,.ptx-runestone-container .btn-info.active:focus,.ptx-runestone-container .btn-info.active:hover,.ptx-runestone-container .btn-info:active.focus,.ptx-runestone-container .btn-info:active:focus,.ptx-runestone-container .btn-info:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-info.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-info:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-info:hover,.runestone-sphinx .btn-info.active.focus,.runestone-sphinx .btn-info.active:focus,.runestone-sphinx .btn-info.active:hover,.runestone-sphinx .btn-info:active.focus,.runestone-sphinx .btn-info:active:focus,.runestone-sphinx .btn-info:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-info.focus,.runestone-sphinx .open>.dropdown-toggle.btn-info:focus,.runestone-sphinx .open>.dropdown-toggle.btn-info:hover{background-color:#269abc;border-color:#1b6d85;color:#fff}.ptx-runestone-container .btn-info.disabled.focus,.ptx-runestone-container .btn-info.disabled:focus,.ptx-runestone-container .btn-info.disabled:hover,.ptx-runestone-container .btn-info[disabled].focus,.ptx-runestone-container .btn-info[disabled]:focus,.ptx-runestone-container .btn-info[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-info.focus,.ptx-runestone-container fieldset[disabled] .btn-info:focus,.ptx-runestone-container fieldset[disabled] .btn-info:hover,.runestone-sphinx .btn-info.disabled.focus,.runestone-sphinx .btn-info.disabled:focus,.runestone-sphinx .btn-info.disabled:hover,.runestone-sphinx .btn-info[disabled].focus,.runestone-sphinx .btn-info[disabled]:focus,.runestone-sphinx .btn-info[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-info.focus,.runestone-sphinx fieldset[disabled] .btn-info:focus,.runestone-sphinx fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.ptx-runestone-container .btn-info .badge,.runestone-sphinx .btn-info .badge{background-color:#fff;color:#5bc0de}.ptx-runestone-container .btn-warning,.runestone-sphinx .btn-warning{background-color:#f0ad4e;border-color:#eea236;color:#fff}.ptx-runestone-container .btn-warning.focus,.ptx-runestone-container .btn-warning:focus,.runestone-sphinx .btn-warning.focus,.runestone-sphinx .btn-warning:focus{background-color:#ec971f;border-color:#985f0d;color:#fff}.ptx-runestone-container .btn-warning:hover,.runestone-sphinx .btn-warning:hover{background-color:#ec971f;border-color:#d58512;color:#fff}.ptx-runestone-container .btn-warning.active,.ptx-runestone-container .btn-warning:active,.ptx-runestone-container .open>.dropdown-toggle.btn-warning,.runestone-sphinx .btn-warning.active,.runestone-sphinx .btn-warning:active,.runestone-sphinx .open>.dropdown-toggle.btn-warning{background-color:#ec971f;background-image:none;border-color:#d58512;color:#fff}.ptx-runestone-container .btn-warning.active.focus,.ptx-runestone-container .btn-warning.active:focus,.ptx-runestone-container .btn-warning.active:hover,.ptx-runestone-container .btn-warning:active.focus,.ptx-runestone-container .btn-warning:active:focus,.ptx-runestone-container .btn-warning:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-warning.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-warning:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-warning:hover,.runestone-sphinx .btn-warning.active.focus,.runestone-sphinx .btn-warning.active:focus,.runestone-sphinx .btn-warning.active:hover,.runestone-sphinx .btn-warning:active.focus,.runestone-sphinx .btn-warning:active:focus,.runestone-sphinx .btn-warning:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-warning.focus,.runestone-sphinx .open>.dropdown-toggle.btn-warning:focus,.runestone-sphinx .open>.dropdown-toggle.btn-warning:hover{background-color:#d58512;border-color:#985f0d;color:#fff}.ptx-runestone-container .btn-warning.disabled.focus,.ptx-runestone-container .btn-warning.disabled:focus,.ptx-runestone-container .btn-warning.disabled:hover,.ptx-runestone-container .btn-warning[disabled].focus,.ptx-runestone-container .btn-warning[disabled]:focus,.ptx-runestone-container .btn-warning[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-warning.focus,.ptx-runestone-container fieldset[disabled] .btn-warning:focus,.ptx-runestone-container fieldset[disabled] .btn-warning:hover,.runestone-sphinx .btn-warning.disabled.focus,.runestone-sphinx .btn-warning.disabled:focus,.runestone-sphinx .btn-warning.disabled:hover,.runestone-sphinx .btn-warning[disabled].focus,.runestone-sphinx .btn-warning[disabled]:focus,.runestone-sphinx .btn-warning[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-warning.focus,.runestone-sphinx fieldset[disabled] .btn-warning:focus,.runestone-sphinx fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.ptx-runestone-container .btn-warning .badge,.runestone-sphinx .btn-warning .badge{background-color:#fff;color:#f0ad4e}.ptx-runestone-container .btn-danger,.runestone-sphinx .btn-danger{background-color:#d9534f;border-color:#d43f3a;color:#fff}.ptx-runestone-container .btn-danger.focus,.ptx-runestone-container .btn-danger:focus,.runestone-sphinx .btn-danger.focus,.runestone-sphinx .btn-danger:focus{background-color:#c9302c;border-color:#761c19;color:#fff}.ptx-runestone-container .btn-danger:hover,.runestone-sphinx .btn-danger:hover{background-color:#c9302c;border-color:#ac2925;color:#fff}.ptx-runestone-container .btn-danger.active,.ptx-runestone-container .btn-danger:active,.ptx-runestone-container .open>.dropdown-toggle.btn-danger,.runestone-sphinx .btn-danger.active,.runestone-sphinx .btn-danger:active,.runestone-sphinx .open>.dropdown-toggle.btn-danger{background-color:#c9302c;background-image:none;border-color:#ac2925;color:#fff}.ptx-runestone-container .btn-danger.active.focus,.ptx-runestone-container .btn-danger.active:focus,.ptx-runestone-container .btn-danger.active:hover,.ptx-runestone-container .btn-danger:active.focus,.ptx-runestone-container .btn-danger:active:focus,.ptx-runestone-container .btn-danger:active:hover,.ptx-runestone-container .open>.dropdown-toggle.btn-danger.focus,.ptx-runestone-container .open>.dropdown-toggle.btn-danger:focus,.ptx-runestone-container .open>.dropdown-toggle.btn-danger:hover,.runestone-sphinx .btn-danger.active.focus,.runestone-sphinx .btn-danger.active:focus,.runestone-sphinx .btn-danger.active:hover,.runestone-sphinx .btn-danger:active.focus,.runestone-sphinx .btn-danger:active:focus,.runestone-sphinx .btn-danger:active:hover,.runestone-sphinx .open>.dropdown-toggle.btn-danger.focus,.runestone-sphinx .open>.dropdown-toggle.btn-danger:focus,.runestone-sphinx .open>.dropdown-toggle.btn-danger:hover{background-color:#ac2925;border-color:#761c19;color:#fff}.ptx-runestone-container .btn-danger.disabled.focus,.ptx-runestone-container .btn-danger.disabled:focus,.ptx-runestone-container .btn-danger.disabled:hover,.ptx-runestone-container .btn-danger[disabled].focus,.ptx-runestone-container .btn-danger[disabled]:focus,.ptx-runestone-container .btn-danger[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-danger.focus,.ptx-runestone-container fieldset[disabled] .btn-danger:focus,.ptx-runestone-container fieldset[disabled] .btn-danger:hover,.runestone-sphinx .btn-danger.disabled.focus,.runestone-sphinx .btn-danger.disabled:focus,.runestone-sphinx .btn-danger.disabled:hover,.runestone-sphinx .btn-danger[disabled].focus,.runestone-sphinx .btn-danger[disabled]:focus,.runestone-sphinx .btn-danger[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-danger.focus,.runestone-sphinx fieldset[disabled] .btn-danger:focus,.runestone-sphinx fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.ptx-runestone-container .btn-danger .badge,.runestone-sphinx .btn-danger .badge{background-color:#fff;color:#d9534f}.ptx-runestone-container .btn-link,.runestone-sphinx .btn-link{border-radius:0;color:#337ab7;font-weight:400}.ptx-runestone-container .btn-link,.ptx-runestone-container .btn-link.active,.ptx-runestone-container .btn-link:active,.ptx-runestone-container .btn-link[disabled],.ptx-runestone-container fieldset[disabled] .btn-link,.runestone-sphinx .btn-link,.runestone-sphinx .btn-link.active,.runestone-sphinx .btn-link:active,.runestone-sphinx .btn-link[disabled],.runestone-sphinx fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.ptx-runestone-container .btn-link,.ptx-runestone-container .btn-link:active,.ptx-runestone-container .btn-link:focus,.ptx-runestone-container .btn-link:hover,.runestone-sphinx .btn-link,.runestone-sphinx .btn-link:active,.runestone-sphinx .btn-link:focus,.runestone-sphinx .btn-link:hover{border-color:transparent}.ptx-runestone-container .btn-link:focus,.ptx-runestone-container .btn-link:hover,.runestone-sphinx .btn-link:focus,.runestone-sphinx .btn-link:hover{background-color:transparent;color:#23527c;text-decoration:underline}.ptx-runestone-container .btn-link[disabled]:focus,.ptx-runestone-container .btn-link[disabled]:hover,.ptx-runestone-container fieldset[disabled] .btn-link:focus,.ptx-runestone-container fieldset[disabled] .btn-link:hover,.runestone-sphinx .btn-link[disabled]:focus,.runestone-sphinx .btn-link[disabled]:hover,.runestone-sphinx fieldset[disabled] .btn-link:focus,.runestone-sphinx fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.ptx-runestone-container .btn-group-lg>.btn,.ptx-runestone-container .btn-lg,.runestone-sphinx .btn-group-lg>.btn,.runestone-sphinx .btn-lg{border-radius:6px;font-size:18px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container .btn-group-sm>.btn,.ptx-runestone-container .btn-sm,.runestone-sphinx .btn-group-sm>.btn,.runestone-sphinx .btn-sm{border-radius:3px;font-size:12px;line-height:1.5;padding:5px 10px}.ptx-runestone-container .btn-group-xs>.btn,.ptx-runestone-container .btn-xs,.runestone-sphinx .btn-group-xs>.btn,.runestone-sphinx .btn-xs{border-radius:3px;font-size:12px;line-height:1.5;padding:1px 5px}.ptx-runestone-container .btn-block,.runestone-sphinx .btn-block{display:block;width:100%}.ptx-runestone-container .btn-block+.btn-block,.runestone-sphinx .btn-block+.btn-block{margin-top:5px}.ptx-runestone-container input[type=button].btn-block,.ptx-runestone-container input[type=reset].btn-block,.ptx-runestone-container input[type=submit].btn-block,.runestone-sphinx input[type=button].btn-block,.runestone-sphinx input[type=reset].btn-block,.runestone-sphinx input[type=submit].btn-block{width:100%}.ptx-runestone-container .fade,.runestone-sphinx .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.ptx-runestone-container .fade.in,.runestone-sphinx .fade.in{opacity:1}.ptx-runestone-container .collapse,.runestone-sphinx .collapse{display:none}.ptx-runestone-container .collapse.in,.runestone-sphinx .collapse.in{display:block}.ptx-runestone-container tr.collapse.in,.runestone-sphinx tr.collapse.in{display:table-row}.ptx-runestone-container tbody.collapse.in,.runestone-sphinx tbody.collapse.in{display:table-row-group}.ptx-runestone-container .collapsing,.runestone-sphinx .collapsing{height:0;overflow:hidden;position:relative;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.ptx-runestone-container .caret,.runestone-sphinx .caret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px dashed;border-top:4px solid\9;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0}.ptx-runestone-container .dropdown,.ptx-runestone-container .dropup,.runestone-sphinx .dropdown,.runestone-sphinx .dropup{position:relative}.ptx-runestone-container .dropdown-toggle:focus,.runestone-sphinx .dropdown-toggle:focus{outline:0}.ptx-runestone-container .dropdown-menu,.runestone-sphinx .dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);display:none;float:left;font-size:14px;left:0;list-style:none;margin:2px 0 0;min-width:160px;padding:5px 0;position:absolute;text-align:left;top:100%;z-index:1000}.ptx-runestone-container .dropdown-menu.pull-right,.runestone-sphinx .dropdown-menu.pull-right{left:auto;right:0}.ptx-runestone-container .dropdown-menu .divider,.runestone-sphinx .dropdown-menu .divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.ptx-runestone-container .dropdown-menu>li>a,.runestone-sphinx .dropdown-menu>li>a{clear:both;color:#333;display:block;font-weight:400;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.ptx-runestone-container .dropdown-menu>li>a:focus,.ptx-runestone-container .dropdown-menu>li>a:hover,.runestone-sphinx .dropdown-menu>li>a:focus,.runestone-sphinx .dropdown-menu>li>a:hover{background-color:#f5f5f5;color:#262626;text-decoration:none}.ptx-runestone-container .dropdown-menu>.active>a,.ptx-runestone-container .dropdown-menu>.active>a:focus,.ptx-runestone-container .dropdown-menu>.active>a:hover,.runestone-sphinx .dropdown-menu>.active>a,.runestone-sphinx .dropdown-menu>.active>a:focus,.runestone-sphinx .dropdown-menu>.active>a:hover{background-color:#337ab7;color:#fff;outline:0;text-decoration:none}.ptx-runestone-container .dropdown-menu>.disabled>a,.ptx-runestone-container .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .dropdown-menu>.disabled>a:hover,.runestone-sphinx .dropdown-menu>.disabled>a,.runestone-sphinx .dropdown-menu>.disabled>a:focus,.runestone-sphinx .dropdown-menu>.disabled>a:hover{color:#777}.ptx-runestone-container .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .dropdown-menu>.disabled>a:hover,.runestone-sphinx .dropdown-menu>.disabled>a:focus,.runestone-sphinx .dropdown-menu>.disabled>a:hover{background-color:transparent;background-image:none;cursor:not-allowed;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);text-decoration:none}.ptx-runestone-container .open>.dropdown-menu,.runestone-sphinx .open>.dropdown-menu{display:block}.ptx-runestone-container .open>a,.runestone-sphinx .open>a{outline:0}.ptx-runestone-container .dropdown-menu-right,.runestone-sphinx .dropdown-menu-right{left:auto;right:0}.ptx-runestone-container .dropdown-menu-left,.runestone-sphinx .dropdown-menu-left{left:0;right:auto}.ptx-runestone-container .dropdown-header,.runestone-sphinx .dropdown-header{color:#777;display:block;font-size:12px;line-height:1.42857143;padding:3px 20px;white-space:nowrap}.ptx-runestone-container .dropdown-backdrop,.runestone-sphinx .dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:990}.ptx-runestone-container .pull-right>.dropdown-menu,.runestone-sphinx .pull-right>.dropdown-menu{left:auto;right:0}.ptx-runestone-container .dropup .caret,.ptx-runestone-container .navbar-fixed-bottom .dropdown .caret,.runestone-sphinx .dropup .caret,.runestone-sphinx .navbar-fixed-bottom .dropdown .caret{border-bottom:4px dashed;border-bottom:4px solid\9;border-top:0;content:""}.ptx-runestone-container .dropup .dropdown-menu,.ptx-runestone-container .navbar-fixed-bottom .dropdown .dropdown-menu,.runestone-sphinx .dropup .dropdown-menu,.runestone-sphinx .navbar-fixed-bottom .dropdown .dropdown-menu{bottom:100%;margin-bottom:2px;top:auto}@media (min-width:768px){.ptx-runestone-container .navbar-right .dropdown-menu,.runestone-sphinx .navbar-right .dropdown-menu{left:auto;right:0}.ptx-runestone-container .navbar-right .dropdown-menu-left,.runestone-sphinx .navbar-right .dropdown-menu-left{left:0;right:auto}}.ptx-runestone-container .btn-group,.ptx-runestone-container .btn-group-vertical,.runestone-sphinx .btn-group,.runestone-sphinx .btn-group-vertical{display:inline-block;position:relative;vertical-align:middle}.ptx-runestone-container .btn-group-vertical>.btn,.ptx-runestone-container .btn-group>.btn,.runestone-sphinx .btn-group-vertical>.btn,.runestone-sphinx .btn-group>.btn{float:left;position:relative}.ptx-runestone-container .btn-group-vertical>.btn.active,.ptx-runestone-container .btn-group-vertical>.btn:active,.ptx-runestone-container .btn-group-vertical>.btn:focus,.ptx-runestone-container .btn-group-vertical>.btn:hover,.ptx-runestone-container .btn-group>.btn.active,.ptx-runestone-container .btn-group>.btn:active,.ptx-runestone-container .btn-group>.btn:focus,.ptx-runestone-container .btn-group>.btn:hover,.runestone-sphinx .btn-group-vertical>.btn.active,.runestone-sphinx .btn-group-vertical>.btn:active,.runestone-sphinx .btn-group-vertical>.btn:focus,.runestone-sphinx .btn-group-vertical>.btn:hover,.runestone-sphinx .btn-group>.btn.active,.runestone-sphinx .btn-group>.btn:active,.runestone-sphinx .btn-group>.btn:focus,.runestone-sphinx .btn-group>.btn:hover{z-index:2}.ptx-runestone-container .btn-group .btn+.btn,.ptx-runestone-container .btn-group .btn+.btn-group,.ptx-runestone-container .btn-group .btn-group+.btn,.ptx-runestone-container .btn-group .btn-group+.btn-group,.runestone-sphinx .btn-group .btn+.btn,.runestone-sphinx .btn-group .btn+.btn-group,.runestone-sphinx .btn-group .btn-group+.btn,.runestone-sphinx .btn-group .btn-group+.btn-group{margin-left:-1px}.ptx-runestone-container .btn-toolbar,.runestone-sphinx .btn-toolbar{margin-left:-5px}.ptx-runestone-container .btn-toolbar .btn,.ptx-runestone-container .btn-toolbar .btn-group,.ptx-runestone-container .btn-toolbar .input-group,.runestone-sphinx .btn-toolbar .btn,.runestone-sphinx .btn-toolbar .btn-group,.runestone-sphinx .btn-toolbar .input-group{float:left}.ptx-runestone-container .btn-toolbar>.btn,.ptx-runestone-container .btn-toolbar>.btn-group,.ptx-runestone-container .btn-toolbar>.input-group,.runestone-sphinx .btn-toolbar>.btn,.runestone-sphinx .btn-toolbar>.btn-group,.runestone-sphinx .btn-toolbar>.input-group{margin-left:5px}.ptx-runestone-container .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle),.runestone-sphinx .btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.ptx-runestone-container .btn-group>.btn:first-child,.runestone-sphinx .btn-group>.btn:first-child{margin-left:0}.ptx-runestone-container .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle),.runestone-sphinx .btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group>.btn:last-child:not(:first-child),.ptx-runestone-container .btn-group>.dropdown-toggle:not(:first-child),.runestone-sphinx .btn-group>.btn:last-child:not(:first-child),.runestone-sphinx .btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.ptx-runestone-container .btn-group>.btn-group,.runestone-sphinx .btn-group>.btn-group{float:left}.ptx-runestone-container .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn,.runestone-sphinx .btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.ptx-runestone-container .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.ptx-runestone-container .btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.runestone-sphinx .btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.runestone-sphinx .btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child,.runestone-sphinx .btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.ptx-runestone-container .btn-group .dropdown-toggle:active,.ptx-runestone-container .btn-group.open .dropdown-toggle,.runestone-sphinx .btn-group .dropdown-toggle:active,.runestone-sphinx .btn-group.open .dropdown-toggle{outline:0}.ptx-runestone-container .btn-group>.btn+.dropdown-toggle,.runestone-sphinx .btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.ptx-runestone-container .btn-group>.btn-lg+.dropdown-toggle,.runestone-sphinx .btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.ptx-runestone-container .btn-group.open .dropdown-toggle,.runestone-sphinx .btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.ptx-runestone-container .btn-group.open .dropdown-toggle.btn-link,.runestone-sphinx .btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.ptx-runestone-container .btn .caret,.runestone-sphinx .btn .caret{margin-left:0}.ptx-runestone-container .btn-lg .caret,.runestone-sphinx .btn-lg .caret{border-width:5px 5px 0}.ptx-runestone-container .dropup .btn-lg .caret,.runestone-sphinx .dropup .btn-lg .caret{border-width:0 5px 5px}.ptx-runestone-container .btn-group-vertical>.btn,.ptx-runestone-container .btn-group-vertical>.btn-group,.ptx-runestone-container .btn-group-vertical>.btn-group>.btn,.runestone-sphinx .btn-group-vertical>.btn,.runestone-sphinx .btn-group-vertical>.btn-group,.runestone-sphinx .btn-group-vertical>.btn-group>.btn{display:block;float:none;max-width:100%;width:100%}.ptx-runestone-container .btn-group-vertical>.btn-group>.btn,.runestone-sphinx .btn-group-vertical>.btn-group>.btn{float:none}.ptx-runestone-container .btn-group-vertical>.btn+.btn,.ptx-runestone-container .btn-group-vertical>.btn+.btn-group,.ptx-runestone-container .btn-group-vertical>.btn-group+.btn,.ptx-runestone-container .btn-group-vertical>.btn-group+.btn-group,.runestone-sphinx .btn-group-vertical>.btn+.btn,.runestone-sphinx .btn-group-vertical>.btn+.btn-group,.runestone-sphinx .btn-group-vertical>.btn-group+.btn,.runestone-sphinx .btn-group-vertical>.btn-group+.btn-group{margin-left:0;margin-top:-1px}.ptx-runestone-container .btn-group-vertical>.btn:not(:first-child):not(:last-child),.runestone-sphinx .btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.ptx-runestone-container .btn-group-vertical>.btn:first-child:not(:last-child),.runestone-sphinx .btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.ptx-runestone-container .btn-group-vertical>.btn:last-child:not(:first-child),.runestone-sphinx .btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn,.runestone-sphinx .btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.ptx-runestone-container .btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.ptx-runestone-container .btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle,.runestone-sphinx .btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.runestone-sphinx .btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}.ptx-runestone-container .btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child,.runestone-sphinx .btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.ptx-runestone-container .btn-group-justified,.runestone-sphinx .btn-group-justified{border-collapse:separate;display:table;table-layout:fixed;width:100%}.ptx-runestone-container .btn-group-justified>.btn,.ptx-runestone-container .btn-group-justified>.btn-group,.runestone-sphinx .btn-group-justified>.btn,.runestone-sphinx .btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.ptx-runestone-container .btn-group-justified>.btn-group .btn,.runestone-sphinx .btn-group-justified>.btn-group .btn{width:100%}.ptx-runestone-container .btn-group-justified>.btn-group .dropdown-menu,.runestone-sphinx .btn-group-justified>.btn-group .dropdown-menu{left:auto}.ptx-runestone-container [data-toggle=buttons]>.btn input[type=checkbox],.ptx-runestone-container [data-toggle=buttons]>.btn input[type=radio],.ptx-runestone-container [data-toggle=buttons]>.btn-group>.btn input[type=checkbox],.ptx-runestone-container [data-toggle=buttons]>.btn-group>.btn input[type=radio],.runestone-sphinx [data-toggle=buttons]>.btn input[type=checkbox],.runestone-sphinx [data-toggle=buttons]>.btn input[type=radio],.runestone-sphinx [data-toggle=buttons]>.btn-group>.btn input[type=checkbox],.runestone-sphinx [data-toggle=buttons]>.btn-group>.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.ptx-runestone-container .input-group,.runestone-sphinx .input-group{border-collapse:separate;display:table;position:relative}.ptx-runestone-container .input-group[class*=col-],.runestone-sphinx .input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.ptx-runestone-container .input-group .form-control,.runestone-sphinx .input-group .form-control{float:left;margin-bottom:0;position:relative;width:100%;z-index:2}.ptx-runestone-container .input-group .form-control:focus,.runestone-sphinx .input-group .form-control:focus{z-index:3}.ptx-runestone-container .input-group-lg>.form-control,.ptx-runestone-container .input-group-lg>.input-group-addon,.ptx-runestone-container .input-group-lg>.input-group-btn>.btn,.runestone-sphinx .input-group-lg>.form-control,.runestone-sphinx .input-group-lg>.input-group-addon,.runestone-sphinx .input-group-lg>.input-group-btn>.btn{border-radius:6px;font-size:18px;height:46px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container select.input-group-lg>.form-control,.ptx-runestone-container select.input-group-lg>.input-group-addon,.ptx-runestone-container select.input-group-lg>.input-group-btn>.btn,.runestone-sphinx select.input-group-lg>.form-control,.runestone-sphinx select.input-group-lg>.input-group-addon,.runestone-sphinx select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}.ptx-runestone-container select[multiple].input-group-lg>.form-control,.ptx-runestone-container select[multiple].input-group-lg>.input-group-addon,.ptx-runestone-container select[multiple].input-group-lg>.input-group-btn>.btn,.ptx-runestone-container textarea.input-group-lg>.form-control,.ptx-runestone-container textarea.input-group-lg>.input-group-addon,.ptx-runestone-container textarea.input-group-lg>.input-group-btn>.btn,.runestone-sphinx select[multiple].input-group-lg>.form-control,.runestone-sphinx select[multiple].input-group-lg>.input-group-addon,.runestone-sphinx select[multiple].input-group-lg>.input-group-btn>.btn,.runestone-sphinx textarea.input-group-lg>.form-control,.runestone-sphinx textarea.input-group-lg>.input-group-addon,.runestone-sphinx textarea.input-group-lg>.input-group-btn>.btn{height:auto}.ptx-runestone-container .input-group-sm>.form-control,.ptx-runestone-container .input-group-sm>.input-group-addon,.ptx-runestone-container .input-group-sm>.input-group-btn>.btn,.runestone-sphinx .input-group-sm>.form-control,.runestone-sphinx .input-group-sm>.input-group-addon,.runestone-sphinx .input-group-sm>.input-group-btn>.btn{border-radius:3px;font-size:12px;height:30px;line-height:1.5;padding:5px 10px}.ptx-runestone-container select.input-group-sm>.form-control,.ptx-runestone-container select.input-group-sm>.input-group-addon,.ptx-runestone-container select.input-group-sm>.input-group-btn>.btn,.runestone-sphinx select.input-group-sm>.form-control,.runestone-sphinx select.input-group-sm>.input-group-addon,.runestone-sphinx select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}.ptx-runestone-container select[multiple].input-group-sm>.form-control,.ptx-runestone-container select[multiple].input-group-sm>.input-group-addon,.ptx-runestone-container select[multiple].input-group-sm>.input-group-btn>.btn,.ptx-runestone-container textarea.input-group-sm>.form-control,.ptx-runestone-container textarea.input-group-sm>.input-group-addon,.ptx-runestone-container textarea.input-group-sm>.input-group-btn>.btn,.runestone-sphinx select[multiple].input-group-sm>.form-control,.runestone-sphinx select[multiple].input-group-sm>.input-group-addon,.runestone-sphinx select[multiple].input-group-sm>.input-group-btn>.btn,.runestone-sphinx textarea.input-group-sm>.form-control,.runestone-sphinx textarea.input-group-sm>.input-group-addon,.runestone-sphinx textarea.input-group-sm>.input-group-btn>.btn{height:auto}.ptx-runestone-container .input-group .form-control,.ptx-runestone-container .input-group-addon,.ptx-runestone-container .input-group-btn,.runestone-sphinx .input-group .form-control,.runestone-sphinx .input-group-addon,.runestone-sphinx .input-group-btn{display:table-cell}.ptx-runestone-container .input-group .form-control:not(:first-child):not(:last-child),.ptx-runestone-container .input-group-addon:not(:first-child):not(:last-child),.ptx-runestone-container .input-group-btn:not(:first-child):not(:last-child),.runestone-sphinx .input-group .form-control:not(:first-child):not(:last-child),.runestone-sphinx .input-group-addon:not(:first-child):not(:last-child),.runestone-sphinx .input-group-btn:not(:first-child):not(:last-child){border-radius:0}.ptx-runestone-container .input-group-addon,.ptx-runestone-container .input-group-btn,.runestone-sphinx .input-group-addon,.runestone-sphinx .input-group-btn{vertical-align:middle;white-space:nowrap;width:1%}.ptx-runestone-container .input-group-addon,.runestone-sphinx .input-group-addon{background-color:#eee;border:1px solid #ccc;border-radius:4px;color:#555;font-size:14px;font-weight:400;line-height:1;padding:6px 12px;text-align:center}.ptx-runestone-container .input-group-addon.input-sm,.runestone-sphinx .input-group-addon.input-sm{border-radius:3px;font-size:12px;padding:5px 10px}.ptx-runestone-container .input-group-addon.input-lg,.runestone-sphinx .input-group-addon.input-lg{border-radius:6px;font-size:18px;padding:10px 16px}.ptx-runestone-container .input-group-addon input[type=checkbox],.ptx-runestone-container .input-group-addon input[type=radio],.runestone-sphinx .input-group-addon input[type=checkbox],.runestone-sphinx .input-group-addon input[type=radio]{margin-top:0}.ptx-runestone-container .input-group .form-control:first-child,.ptx-runestone-container .input-group-addon:first-child,.ptx-runestone-container .input-group-btn:first-child>.btn,.ptx-runestone-container .input-group-btn:first-child>.btn-group>.btn,.ptx-runestone-container .input-group-btn:first-child>.dropdown-toggle,.ptx-runestone-container .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.ptx-runestone-container .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.runestone-sphinx .input-group .form-control:first-child,.runestone-sphinx .input-group-addon:first-child,.runestone-sphinx .input-group-btn:first-child>.btn,.runestone-sphinx .input-group-btn:first-child>.btn-group>.btn,.runestone-sphinx .input-group-btn:first-child>.dropdown-toggle,.runestone-sphinx .input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.runestone-sphinx .input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.ptx-runestone-container .input-group-addon:first-child,.runestone-sphinx .input-group-addon:first-child{border-right:0}.ptx-runestone-container .input-group .form-control:last-child,.ptx-runestone-container .input-group-addon:last-child,.ptx-runestone-container .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.ptx-runestone-container .input-group-btn:first-child>.btn:not(:first-child),.ptx-runestone-container .input-group-btn:last-child>.btn,.ptx-runestone-container .input-group-btn:last-child>.btn-group>.btn,.ptx-runestone-container .input-group-btn:last-child>.dropdown-toggle,.runestone-sphinx .input-group .form-control:last-child,.runestone-sphinx .input-group-addon:last-child,.runestone-sphinx .input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.runestone-sphinx .input-group-btn:first-child>.btn:not(:first-child),.runestone-sphinx .input-group-btn:last-child>.btn,.runestone-sphinx .input-group-btn:last-child>.btn-group>.btn,.runestone-sphinx .input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.ptx-runestone-container .input-group-addon:last-child,.runestone-sphinx .input-group-addon:last-child{border-left:0}.ptx-runestone-container .input-group-btn,.runestone-sphinx .input-group-btn{font-size:0;position:relative;white-space:nowrap}.ptx-runestone-container .input-group-btn>.btn,.runestone-sphinx .input-group-btn>.btn{position:relative}.ptx-runestone-container .input-group-btn>.btn+.btn,.runestone-sphinx .input-group-btn>.btn+.btn{margin-left:-1px}.ptx-runestone-container .input-group-btn>.btn:active,.ptx-runestone-container .input-group-btn>.btn:focus,.ptx-runestone-container .input-group-btn>.btn:hover,.runestone-sphinx .input-group-btn>.btn:active,.runestone-sphinx .input-group-btn>.btn:focus,.runestone-sphinx .input-group-btn>.btn:hover{z-index:2}.ptx-runestone-container .input-group-btn:first-child>.btn,.ptx-runestone-container .input-group-btn:first-child>.btn-group,.runestone-sphinx .input-group-btn:first-child>.btn,.runestone-sphinx .input-group-btn:first-child>.btn-group{margin-right:-1px}.ptx-runestone-container .input-group-btn:last-child>.btn,.ptx-runestone-container .input-group-btn:last-child>.btn-group,.runestone-sphinx .input-group-btn:last-child>.btn,.runestone-sphinx .input-group-btn:last-child>.btn-group{margin-left:-1px;z-index:2}.ptx-runestone-container .nav,.runestone-sphinx .nav{list-style:none;margin-bottom:0;padding-left:0}.ptx-runestone-container .nav>li,.runestone-sphinx .nav>li{display:block;position:relative}.ptx-runestone-container .nav>li>a,.runestone-sphinx .nav>li>a{display:block;padding:10px 15px;position:relative}.ptx-runestone-container .nav>li>a:focus,.ptx-runestone-container .nav>li>a:hover,.runestone-sphinx .nav>li>a:focus,.runestone-sphinx .nav>li>a:hover{background-color:#eee;text-decoration:none}.ptx-runestone-container .nav>li.disabled>a,.runestone-sphinx .nav>li.disabled>a{color:#777}.ptx-runestone-container .nav>li.disabled>a:focus,.ptx-runestone-container .nav>li.disabled>a:hover,.runestone-sphinx .nav>li.disabled>a:focus,.runestone-sphinx .nav>li.disabled>a:hover{background-color:transparent;color:#777;cursor:not-allowed;text-decoration:none}.ptx-runestone-container .nav .open>a,.ptx-runestone-container .nav .open>a:focus,.ptx-runestone-container .nav .open>a:hover,.runestone-sphinx .nav .open>a,.runestone-sphinx .nav .open>a:focus,.runestone-sphinx .nav .open>a:hover{background-color:#eee;border-color:#337ab7}.ptx-runestone-container .nav .nav-divider,.runestone-sphinx .nav .nav-divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.ptx-runestone-container .nav>li>a>img,.runestone-sphinx .nav>li>a>img{max-width:none}.ptx-runestone-container .nav-tabs,.runestone-sphinx .nav-tabs{border-bottom:1px solid #ddd}.ptx-runestone-container .nav-tabs>li,.runestone-sphinx .nav-tabs>li{float:left;margin-bottom:-1px}.ptx-runestone-container .nav-tabs>li>a,.runestone-sphinx .nav-tabs>li>a{border:1px solid transparent;border-radius:4px 4px 0 0;line-height:1.42857143;margin-right:2px}.ptx-runestone-container .nav-tabs>li>a:hover,.runestone-sphinx .nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.ptx-runestone-container .nav-tabs>li.active>a,.ptx-runestone-container .nav-tabs>li.active>a:focus,.ptx-runestone-container .nav-tabs>li.active>a:hover,.runestone-sphinx .nav-tabs>li.active>a,.runestone-sphinx .nav-tabs>li.active>a:focus,.runestone-sphinx .nav-tabs>li.active>a:hover{background-color:#fff;border:1px solid;border-color:#ddd #ddd transparent;color:#555;cursor:default}.ptx-runestone-container .nav-tabs.nav-justified,.runestone-sphinx .nav-tabs.nav-justified{border-bottom:0;width:100%}.ptx-runestone-container .nav-tabs.nav-justified>li,.runestone-sphinx .nav-tabs.nav-justified>li{float:none}.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.ptx-runestone-container .nav-tabs.nav-justified>.dropdown .dropdown-menu,.runestone-sphinx .nav-tabs.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.ptx-runestone-container .nav-tabs.nav-justified>li,.runestone-sphinx .nav-tabs.nav-justified>li{display:table-cell;width:1%}.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{margin-bottom:0}}.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{border-radius:4px;margin-right:0}.ptx-runestone-container .nav-tabs.nav-justified>.active>a,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:focus,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:hover,.runestone-sphinx .nav-tabs.nav-justified>.active>a,.runestone-sphinx .nav-tabs.nav-justified>.active>a:focus,.runestone-sphinx .nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.ptx-runestone-container .nav-tabs.nav-justified>li>a,.runestone-sphinx .nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.ptx-runestone-container .nav-tabs.nav-justified>.active>a,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:focus,.ptx-runestone-container .nav-tabs.nav-justified>.active>a:hover,.runestone-sphinx .nav-tabs.nav-justified>.active>a,.runestone-sphinx .nav-tabs.nav-justified>.active>a:focus,.runestone-sphinx .nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.ptx-runestone-container .nav-pills>li,.runestone-sphinx .nav-pills>li{float:left}.ptx-runestone-container .nav-pills>li>a,.runestone-sphinx .nav-pills>li>a{border-radius:4px}.ptx-runestone-container .nav-pills>li+li,.runestone-sphinx .nav-pills>li+li{margin-left:2px}.ptx-runestone-container .nav-pills>li.active>a,.ptx-runestone-container .nav-pills>li.active>a:focus,.ptx-runestone-container .nav-pills>li.active>a:hover,.runestone-sphinx .nav-pills>li.active>a,.runestone-sphinx .nav-pills>li.active>a:focus,.runestone-sphinx .nav-pills>li.active>a:hover{background-color:#337ab7;color:#fff}.ptx-runestone-container .nav-stacked>li,.runestone-sphinx .nav-stacked>li{float:none}.ptx-runestone-container .nav-stacked>li+li,.runestone-sphinx .nav-stacked>li+li{margin-left:0;margin-top:2px}.ptx-runestone-container .nav-justified,.runestone-sphinx .nav-justified{width:100%}.ptx-runestone-container .nav-justified>li,.runestone-sphinx .nav-justified>li{float:none}.ptx-runestone-container .nav-justified>li>a,.runestone-sphinx .nav-justified>li>a{margin-bottom:5px;text-align:center}.ptx-runestone-container .nav-justified>.dropdown .dropdown-menu,.runestone-sphinx .nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:768px){.ptx-runestone-container .nav-justified>li,.runestone-sphinx .nav-justified>li{display:table-cell;width:1%}.ptx-runestone-container .nav-justified>li>a,.runestone-sphinx .nav-justified>li>a{margin-bottom:0}}.ptx-runestone-container .nav-tabs-justified,.runestone-sphinx .nav-tabs-justified{border-bottom:0}.ptx-runestone-container .nav-tabs-justified>li>a,.runestone-sphinx .nav-tabs-justified>li>a{border-radius:4px;margin-right:0}.ptx-runestone-container .nav-tabs-justified>.active>a,.ptx-runestone-container .nav-tabs-justified>.active>a:focus,.ptx-runestone-container .nav-tabs-justified>.active>a:hover,.runestone-sphinx .nav-tabs-justified>.active>a,.runestone-sphinx .nav-tabs-justified>.active>a:focus,.runestone-sphinx .nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.ptx-runestone-container .nav-tabs-justified>li>a,.runestone-sphinx .nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.ptx-runestone-container .nav-tabs-justified>.active>a,.ptx-runestone-container .nav-tabs-justified>.active>a:focus,.ptx-runestone-container .nav-tabs-justified>.active>a:hover,.runestone-sphinx .nav-tabs-justified>.active>a,.runestone-sphinx .nav-tabs-justified>.active>a:focus,.runestone-sphinx .nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.ptx-runestone-container .tab-content>.tab-pane,.runestone-sphinx .tab-content>.tab-pane{display:none}.ptx-runestone-container .tab-content>.active,.runestone-sphinx .tab-content>.active{display:block}.ptx-runestone-container .nav-tabs .dropdown-menu,.runestone-sphinx .nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.ptx-runestone-container .navbar,.runestone-sphinx .navbar{border:1px solid transparent;margin-bottom:20px;min-height:50px;position:relative}@media (min-width:768px){.ptx-runestone-container .navbar,.runestone-sphinx .navbar{border-radius:4px}.ptx-runestone-container .navbar-header,.runestone-sphinx .navbar-header{float:left}}.ptx-runestone-container .navbar-collapse,.runestone-sphinx .navbar-collapse{-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);overflow-x:visible;padding-left:15px;padding-right:15px}.ptx-runestone-container .navbar-collapse.in,.runestone-sphinx .navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.ptx-runestone-container .navbar-collapse,.runestone-sphinx .navbar-collapse{border-top:0;-webkit-box-shadow:none;box-shadow:none;width:auto}.ptx-runestone-container .navbar-collapse.collapse,.runestone-sphinx .navbar-collapse.collapse{display:block!important;height:auto!important;overflow:visible!important;padding-bottom:0}.ptx-runestone-container .navbar-collapse.in,.runestone-sphinx .navbar-collapse.in{overflow-y:visible}.ptx-runestone-container .navbar-fixed-bottom .navbar-collapse,.ptx-runestone-container .navbar-fixed-top .navbar-collapse,.ptx-runestone-container .navbar-static-top .navbar-collapse,.runestone-sphinx .navbar-fixed-bottom .navbar-collapse,.runestone-sphinx .navbar-fixed-top .navbar-collapse,.runestone-sphinx .navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.ptx-runestone-container .navbar-fixed-bottom,.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-bottom,.runestone-sphinx .navbar-fixed-top{left:0;position:fixed;right:0;z-index:1030}.ptx-runestone-container .navbar-fixed-bottom .navbar-collapse,.ptx-runestone-container .navbar-fixed-top .navbar-collapse,.runestone-sphinx .navbar-fixed-bottom .navbar-collapse,.runestone-sphinx .navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.ptx-runestone-container .navbar-fixed-bottom .navbar-collapse,.ptx-runestone-container .navbar-fixed-top .navbar-collapse,.runestone-sphinx .navbar-fixed-bottom .navbar-collapse,.runestone-sphinx .navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.ptx-runestone-container .navbar-fixed-bottom,.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-bottom,.runestone-sphinx .navbar-fixed-top{border-radius:0}}.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-top{border-width:0 0 1px;top:0}.ptx-runestone-container .navbar-fixed-bottom,.runestone-sphinx .navbar-fixed-bottom{border-width:1px 0 0;bottom:0;margin-bottom:0}.ptx-runestone-container .container-fluid>.navbar-collapse,.ptx-runestone-container .container-fluid>.navbar-header,.ptx-runestone-container .container>.navbar-collapse,.ptx-runestone-container .container>.navbar-header,.runestone-sphinx .container-fluid>.navbar-collapse,.runestone-sphinx .container-fluid>.navbar-header,.runestone-sphinx .container>.navbar-collapse,.runestone-sphinx .container>.navbar-header{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.ptx-runestone-container .container-fluid>.navbar-collapse,.ptx-runestone-container .container-fluid>.navbar-header,.ptx-runestone-container .container>.navbar-collapse,.ptx-runestone-container .container>.navbar-header,.runestone-sphinx .container-fluid>.navbar-collapse,.runestone-sphinx .container-fluid>.navbar-header,.runestone-sphinx .container>.navbar-collapse,.runestone-sphinx .container>.navbar-header{margin-left:0;margin-right:0}}.ptx-runestone-container .navbar-static-top,.runestone-sphinx .navbar-static-top{border-width:0 0 1px;z-index:1000}@media (min-width:768px){.ptx-runestone-container .navbar-static-top,.runestone-sphinx .navbar-static-top{border-radius:0}}.ptx-runestone-container .navbar-brand,.runestone-sphinx .navbar-brand{float:left;font-size:18px;height:50px;line-height:20px;padding:15px}.ptx-runestone-container .navbar-brand:focus,.ptx-runestone-container .navbar-brand:hover,.runestone-sphinx .navbar-brand:focus,.runestone-sphinx .navbar-brand:hover{text-decoration:none}.ptx-runestone-container .navbar-brand>img,.runestone-sphinx .navbar-brand>img{display:block}@media (min-width:768px){.ptx-runestone-container .navbar>.container .navbar-brand,.ptx-runestone-container .navbar>.container-fluid .navbar-brand,.runestone-sphinx .navbar>.container .navbar-brand,.runestone-sphinx .navbar>.container-fluid .navbar-brand{margin-left:-15px}}.ptx-runestone-container .navbar-toggle,.runestone-sphinx .navbar-toggle{background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px;float:right;margin-bottom:8px;margin-right:15px;margin-top:8px;padding:9px 10px;position:relative}.ptx-runestone-container .navbar-toggle:focus,.runestone-sphinx .navbar-toggle:focus{outline:0}.ptx-runestone-container .navbar-toggle .icon-bar,.runestone-sphinx .navbar-toggle .icon-bar{border-radius:1px;display:block;height:2px;width:22px}.ptx-runestone-container .navbar-toggle .icon-bar+.icon-bar,.runestone-sphinx .navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.ptx-runestone-container .navbar-toggle,.runestone-sphinx .navbar-toggle{display:none}}.ptx-runestone-container .navbar-nav,.runestone-sphinx .navbar-nav{margin:7.5px -15px}.ptx-runestone-container .navbar-nav>li>a,.runestone-sphinx .navbar-nav>li>a{line-height:20px;padding-bottom:10px;padding-top:10px}@media (max-width:767px){.ptx-runestone-container .navbar-nav .open .dropdown-menu,.runestone-sphinx .navbar-nav .open .dropdown-menu{background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.ptx-runestone-container .navbar-nav .open .dropdown-menu .dropdown-header,.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-nav .open .dropdown-menu .dropdown-header,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a{line-height:20px}.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a:focus,.ptx-runestone-container .navbar-nav .open .dropdown-menu>li>a:hover,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a:focus,.runestone-sphinx .navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.ptx-runestone-container .navbar-nav,.runestone-sphinx .navbar-nav{float:left;margin:0}.ptx-runestone-container .navbar-nav>li,.runestone-sphinx .navbar-nav>li{float:left}.ptx-runestone-container .navbar-nav>li>a,.runestone-sphinx .navbar-nav>li>a{padding-bottom:15px;padding-top:15px}}.ptx-runestone-container .navbar-form,.runestone-sphinx .navbar-form{border-bottom:1px solid transparent;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);margin:8px -15px;padding:10px 15px}@media (min-width:768px){.ptx-runestone-container .navbar-form .form-group,.runestone-sphinx .navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.ptx-runestone-container .navbar-form .form-control,.runestone-sphinx .navbar-form .form-control{display:inline-block;vertical-align:middle;width:auto}.ptx-runestone-container .navbar-form .form-control-static,.runestone-sphinx .navbar-form .form-control-static{display:inline-block}.ptx-runestone-container .navbar-form .input-group,.runestone-sphinx .navbar-form .input-group{display:inline-table;vertical-align:middle}.ptx-runestone-container .navbar-form .input-group .form-control,.ptx-runestone-container .navbar-form .input-group .input-group-addon,.ptx-runestone-container .navbar-form .input-group .input-group-btn,.runestone-sphinx .navbar-form .input-group .form-control,.runestone-sphinx .navbar-form .input-group .input-group-addon,.runestone-sphinx .navbar-form .input-group .input-group-btn{width:auto}.ptx-runestone-container .navbar-form .input-group>.form-control,.runestone-sphinx .navbar-form .input-group>.form-control{width:100%}.ptx-runestone-container .navbar-form .control-label,.runestone-sphinx .navbar-form .control-label{margin-bottom:0;vertical-align:middle}.ptx-runestone-container .navbar-form .checkbox,.ptx-runestone-container .navbar-form .radio,.runestone-sphinx .navbar-form .checkbox,.runestone-sphinx .navbar-form .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.ptx-runestone-container .navbar-form .checkbox label,.ptx-runestone-container .navbar-form .radio label,.runestone-sphinx .navbar-form .checkbox label,.runestone-sphinx .navbar-form .radio label{padding-left:0}.ptx-runestone-container .navbar-form .checkbox input[type=checkbox],.ptx-runestone-container .navbar-form .radio input[type=radio],.runestone-sphinx .navbar-form .checkbox input[type=checkbox],.runestone-sphinx .navbar-form .radio input[type=radio]{margin-left:0;position:relative}.ptx-runestone-container .navbar-form .has-feedback .form-control-feedback,.runestone-sphinx .navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.ptx-runestone-container .navbar-form .form-group,.runestone-sphinx .navbar-form .form-group{margin-bottom:5px}.ptx-runestone-container .navbar-form .form-group:last-child,.runestone-sphinx .navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.ptx-runestone-container .navbar-form,.runestone-sphinx .navbar-form{border:0;-webkit-box-shadow:none;box-shadow:none;margin-left:0;margin-right:0;padding-bottom:0;padding-top:0;width:auto}}.ptx-runestone-container .navbar-nav>li>.dropdown-menu,.runestone-sphinx .navbar-nav>li>.dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.ptx-runestone-container .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu,.runestone-sphinx .navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;margin-bottom:0}.ptx-runestone-container .navbar-btn,.runestone-sphinx .navbar-btn{margin-bottom:8px;margin-top:8px}.ptx-runestone-container .navbar-btn.btn-sm,.runestone-sphinx .navbar-btn.btn-sm{margin-bottom:10px;margin-top:10px}.ptx-runestone-container .navbar-btn.btn-xs,.runestone-sphinx .navbar-btn.btn-xs{margin-bottom:14px;margin-top:14px}.ptx-runestone-container .navbar-text,.runestone-sphinx .navbar-text{margin-bottom:15px;margin-top:15px}@media (min-width:768px){.ptx-runestone-container .navbar-text,.runestone-sphinx .navbar-text{float:left;margin-left:15px;margin-right:15px}.ptx-runestone-container .navbar-left,.runestone-sphinx .navbar-left{float:left!important}.ptx-runestone-container .navbar-right,.runestone-sphinx .navbar-right{float:right!important;margin-right:-15px}.ptx-runestone-container .navbar-right~.navbar-right,.runestone-sphinx .navbar-right~.navbar-right{margin-right:0}}.ptx-runestone-container .navbar-default,.runestone-sphinx .navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.ptx-runestone-container .navbar-default .navbar-brand,.runestone-sphinx .navbar-default .navbar-brand{color:#777}.ptx-runestone-container .navbar-default .navbar-brand:focus,.ptx-runestone-container .navbar-default .navbar-brand:hover,.runestone-sphinx .navbar-default .navbar-brand:focus,.runestone-sphinx .navbar-default .navbar-brand:hover{background-color:transparent;color:#5e5e5e}.ptx-runestone-container .navbar-default .navbar-nav>li>a,.ptx-runestone-container .navbar-default .navbar-text,.runestone-sphinx .navbar-default .navbar-nav>li>a,.runestone-sphinx .navbar-default .navbar-text{color:#777}.ptx-runestone-container .navbar-default .navbar-nav>li>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>li>a:hover,.runestone-sphinx .navbar-default .navbar-nav>li>a:focus,.runestone-sphinx .navbar-default .navbar-nav>li>a:hover{background-color:transparent;color:#333}.ptx-runestone-container .navbar-default .navbar-nav>.active>a,.ptx-runestone-container .navbar-default .navbar-nav>.active>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>.active>a:hover,.runestone-sphinx .navbar-default .navbar-nav>.active>a,.runestone-sphinx .navbar-default .navbar-nav>.active>a:focus,.runestone-sphinx .navbar-default .navbar-nav>.active>a:hover{background-color:#e7e7e7;color:#555}.ptx-runestone-container .navbar-default .navbar-nav>.disabled>a,.ptx-runestone-container .navbar-default .navbar-nav>.disabled>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>.disabled>a:hover,.runestone-sphinx .navbar-default .navbar-nav>.disabled>a,.runestone-sphinx .navbar-default .navbar-nav>.disabled>a:focus,.runestone-sphinx .navbar-default .navbar-nav>.disabled>a:hover{background-color:transparent;color:#ccc}.ptx-runestone-container .navbar-default .navbar-nav>.open>a,.ptx-runestone-container .navbar-default .navbar-nav>.open>a:focus,.ptx-runestone-container .navbar-default .navbar-nav>.open>a:hover,.runestone-sphinx .navbar-default .navbar-nav>.open>a,.runestone-sphinx .navbar-default .navbar-nav>.open>a:focus,.runestone-sphinx .navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:767px){.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{background-color:transparent;color:#333}.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#e7e7e7;color:#555}.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.runestone-sphinx .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:transparent;color:#ccc}}.ptx-runestone-container .navbar-default .navbar-toggle,.runestone-sphinx .navbar-default .navbar-toggle{border-color:#ddd}.ptx-runestone-container .navbar-default .navbar-toggle:focus,.ptx-runestone-container .navbar-default .navbar-toggle:hover,.runestone-sphinx .navbar-default .navbar-toggle:focus,.runestone-sphinx .navbar-default .navbar-toggle:hover{background-color:#ddd}.ptx-runestone-container .navbar-default .navbar-toggle .icon-bar,.runestone-sphinx .navbar-default .navbar-toggle .icon-bar{background-color:#888}.ptx-runestone-container .navbar-default .navbar-collapse,.ptx-runestone-container .navbar-default .navbar-form,.runestone-sphinx .navbar-default .navbar-collapse,.runestone-sphinx .navbar-default .navbar-form{border-color:#e7e7e7}.ptx-runestone-container .navbar-default .navbar-link,.runestone-sphinx .navbar-default .navbar-link{color:#777}.ptx-runestone-container .navbar-default .navbar-link:hover,.runestone-sphinx .navbar-default .navbar-link:hover{color:#333}.ptx-runestone-container .navbar-default .btn-link,.runestone-sphinx .navbar-default .btn-link{color:#777}.ptx-runestone-container .navbar-default .btn-link:focus,.ptx-runestone-container .navbar-default .btn-link:hover,.runestone-sphinx .navbar-default .btn-link:focus,.runestone-sphinx .navbar-default .btn-link:hover{color:#333}.ptx-runestone-container .navbar-default .btn-link[disabled]:focus,.ptx-runestone-container .navbar-default .btn-link[disabled]:hover,.ptx-runestone-container fieldset[disabled] .navbar-default .btn-link:focus,.ptx-runestone-container fieldset[disabled] .navbar-default .btn-link:hover,.runestone-sphinx .navbar-default .btn-link[disabled]:focus,.runestone-sphinx .navbar-default .btn-link[disabled]:hover,.runestone-sphinx fieldset[disabled] .navbar-default .btn-link:focus,.runestone-sphinx fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.ptx-runestone-container .navbar-inverse,.runestone-sphinx .navbar-inverse{background-color:#222;border-color:#080808}.ptx-runestone-container .navbar-inverse .navbar-brand,.runestone-sphinx .navbar-inverse .navbar-brand{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-brand:focus,.ptx-runestone-container .navbar-inverse .navbar-brand:hover,.runestone-sphinx .navbar-inverse .navbar-brand:focus,.runestone-sphinx .navbar-inverse .navbar-brand:hover{background-color:transparent;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav>li>a,.ptx-runestone-container .navbar-inverse .navbar-text,.runestone-sphinx .navbar-inverse .navbar-nav>li>a,.runestone-sphinx .navbar-inverse .navbar-text{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-nav>li>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>li>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>li>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>li>a:hover{background-color:transparent;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav>.active>a,.ptx-runestone-container .navbar-inverse .navbar-nav>.active>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>.active>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>.active>a,.runestone-sphinx .navbar-inverse .navbar-nav>.active>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>.active>a:hover{background-color:#080808;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav>.disabled>a,.ptx-runestone-container .navbar-inverse .navbar-nav>.disabled>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>.disabled>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>.disabled>a,.runestone-sphinx .navbar-inverse .navbar-nav>.disabled>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>.disabled>a:hover{background-color:transparent;color:#444}.ptx-runestone-container .navbar-inverse .navbar-nav>.open>a,.ptx-runestone-container .navbar-inverse .navbar-nav>.open>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav>.open>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav>.open>a,.runestone-sphinx .navbar-inverse .navbar-nav>.open>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:767px){.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu .divider,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>li>a,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:transparent;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#080808;color:#fff}.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.ptx-runestone-container .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.runestone-sphinx .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:transparent;color:#444}}.ptx-runestone-container .navbar-inverse .navbar-toggle,.runestone-sphinx .navbar-inverse .navbar-toggle{border-color:#333}.ptx-runestone-container .navbar-inverse .navbar-toggle:focus,.ptx-runestone-container .navbar-inverse .navbar-toggle:hover,.runestone-sphinx .navbar-inverse .navbar-toggle:focus,.runestone-sphinx .navbar-inverse .navbar-toggle:hover{background-color:#333}.ptx-runestone-container .navbar-inverse .navbar-toggle .icon-bar,.runestone-sphinx .navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.ptx-runestone-container .navbar-inverse .navbar-collapse,.ptx-runestone-container .navbar-inverse .navbar-form,.runestone-sphinx .navbar-inverse .navbar-collapse,.runestone-sphinx .navbar-inverse .navbar-form{border-color:#101010}.ptx-runestone-container .navbar-inverse .navbar-link,.runestone-sphinx .navbar-inverse .navbar-link{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .navbar-link:hover,.runestone-sphinx .navbar-inverse .navbar-link:hover{color:#fff}.ptx-runestone-container .navbar-inverse .btn-link,.runestone-sphinx .navbar-inverse .btn-link{color:#9d9d9d}.ptx-runestone-container .navbar-inverse .btn-link:focus,.ptx-runestone-container .navbar-inverse .btn-link:hover,.runestone-sphinx .navbar-inverse .btn-link:focus,.runestone-sphinx .navbar-inverse .btn-link:hover{color:#fff}.ptx-runestone-container .navbar-inverse .btn-link[disabled]:focus,.ptx-runestone-container .navbar-inverse .btn-link[disabled]:hover,.ptx-runestone-container fieldset[disabled] .navbar-inverse .btn-link:focus,.ptx-runestone-container fieldset[disabled] .navbar-inverse .btn-link:hover,.runestone-sphinx .navbar-inverse .btn-link[disabled]:focus,.runestone-sphinx .navbar-inverse .btn-link[disabled]:hover,.runestone-sphinx fieldset[disabled] .navbar-inverse .btn-link:focus,.runestone-sphinx fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.ptx-runestone-container .breadcrumb,.runestone-sphinx .breadcrumb{background-color:#f5f5f5;border-radius:4px;list-style:none;margin-bottom:20px;padding:8px 15px}.ptx-runestone-container .breadcrumb>li,.runestone-sphinx .breadcrumb>li{display:inline-block}.ptx-runestone-container .breadcrumb>li+li:before,.runestone-sphinx .breadcrumb>li+li:before{color:#ccc;content:"/\00a0";padding:0 5px}.ptx-runestone-container .breadcrumb>.active,.runestone-sphinx .breadcrumb>.active{color:#777}.ptx-runestone-container .pagination,.runestone-sphinx .pagination{border-radius:4px;display:inline-block;margin:20px 0;padding-left:0}.ptx-runestone-container .pagination>li,.runestone-sphinx .pagination>li{display:inline}.ptx-runestone-container .pagination>li>a,.ptx-runestone-container .pagination>li>span,.runestone-sphinx .pagination>li>a,.runestone-sphinx .pagination>li>span{background-color:#fff;border:1px solid #ddd;color:#337ab7;float:left;line-height:1.42857143;margin-left:-1px;padding:6px 12px;position:relative;text-decoration:none}.ptx-runestone-container .pagination>li>a:focus,.ptx-runestone-container .pagination>li>a:hover,.ptx-runestone-container .pagination>li>span:focus,.ptx-runestone-container .pagination>li>span:hover,.runestone-sphinx .pagination>li>a:focus,.runestone-sphinx .pagination>li>a:hover,.runestone-sphinx .pagination>li>span:focus,.runestone-sphinx .pagination>li>span:hover{background-color:#eee;border-color:#ddd;color:#23527c;z-index:2}.ptx-runestone-container .pagination>li:first-child>a,.ptx-runestone-container .pagination>li:first-child>span,.runestone-sphinx .pagination>li:first-child>a,.runestone-sphinx .pagination>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px;margin-left:0}.ptx-runestone-container .pagination>li:last-child>a,.ptx-runestone-container .pagination>li:last-child>span,.runestone-sphinx .pagination>li:last-child>a,.runestone-sphinx .pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.ptx-runestone-container .pagination>.active>a,.ptx-runestone-container .pagination>.active>a:focus,.ptx-runestone-container .pagination>.active>a:hover,.ptx-runestone-container .pagination>.active>span,.ptx-runestone-container .pagination>.active>span:focus,.ptx-runestone-container .pagination>.active>span:hover,.runestone-sphinx .pagination>.active>a,.runestone-sphinx .pagination>.active>a:focus,.runestone-sphinx .pagination>.active>a:hover,.runestone-sphinx .pagination>.active>span,.runestone-sphinx .pagination>.active>span:focus,.runestone-sphinx .pagination>.active>span:hover{background-color:#337ab7;border-color:#337ab7;color:#fff;cursor:default;z-index:3}.ptx-runestone-container .pagination>.disabled>a,.ptx-runestone-container .pagination>.disabled>a:focus,.ptx-runestone-container .pagination>.disabled>a:hover,.ptx-runestone-container .pagination>.disabled>span,.ptx-runestone-container .pagination>.disabled>span:focus,.ptx-runestone-container .pagination>.disabled>span:hover,.runestone-sphinx .pagination>.disabled>a,.runestone-sphinx .pagination>.disabled>a:focus,.runestone-sphinx .pagination>.disabled>a:hover,.runestone-sphinx .pagination>.disabled>span,.runestone-sphinx .pagination>.disabled>span:focus,.runestone-sphinx .pagination>.disabled>span:hover{background-color:#fff;border-color:#ddd;color:#777;cursor:not-allowed}.ptx-runestone-container .pagination-lg>li>a,.ptx-runestone-container .pagination-lg>li>span,.runestone-sphinx .pagination-lg>li>a,.runestone-sphinx .pagination-lg>li>span{font-size:18px;line-height:1.3333333;padding:10px 16px}.ptx-runestone-container .pagination-lg>li:first-child>a,.ptx-runestone-container .pagination-lg>li:first-child>span,.runestone-sphinx .pagination-lg>li:first-child>a,.runestone-sphinx .pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.ptx-runestone-container .pagination-lg>li:last-child>a,.ptx-runestone-container .pagination-lg>li:last-child>span,.runestone-sphinx .pagination-lg>li:last-child>a,.runestone-sphinx .pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.ptx-runestone-container .pagination-sm>li>a,.ptx-runestone-container .pagination-sm>li>span,.runestone-sphinx .pagination-sm>li>a,.runestone-sphinx .pagination-sm>li>span{font-size:12px;line-height:1.5;padding:5px 10px}.ptx-runestone-container .pagination-sm>li:first-child>a,.ptx-runestone-container .pagination-sm>li:first-child>span,.runestone-sphinx .pagination-sm>li:first-child>a,.runestone-sphinx .pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.ptx-runestone-container .pagination-sm>li:last-child>a,.ptx-runestone-container .pagination-sm>li:last-child>span,.runestone-sphinx .pagination-sm>li:last-child>a,.runestone-sphinx .pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.ptx-runestone-container .pager,.runestone-sphinx .pager{list-style:none;margin:20px 0;padding-left:0;text-align:center}.ptx-runestone-container .pager li,.runestone-sphinx .pager li{display:inline}.ptx-runestone-container .pager li>a,.ptx-runestone-container .pager li>span,.runestone-sphinx .pager li>a,.runestone-sphinx .pager li>span{background-color:#fff;border:1px solid #ddd;border-radius:15px;display:inline-block;padding:5px 14px}.ptx-runestone-container .pager li>a:focus,.ptx-runestone-container .pager li>a:hover,.runestone-sphinx .pager li>a:focus,.runestone-sphinx .pager li>a:hover{background-color:#eee;text-decoration:none}.ptx-runestone-container .pager .next>a,.ptx-runestone-container .pager .next>span,.runestone-sphinx .pager .next>a,.runestone-sphinx .pager .next>span{float:right}.ptx-runestone-container .pager .previous>a,.ptx-runestone-container .pager .previous>span,.runestone-sphinx .pager .previous>a,.runestone-sphinx .pager .previous>span{float:left}.ptx-runestone-container .pager .disabled>a,.ptx-runestone-container .pager .disabled>a:focus,.ptx-runestone-container .pager .disabled>a:hover,.ptx-runestone-container .pager .disabled>span,.runestone-sphinx .pager .disabled>a,.runestone-sphinx .pager .disabled>a:focus,.runestone-sphinx .pager .disabled>a:hover,.runestone-sphinx .pager .disabled>span{background-color:#fff;color:#777;cursor:not-allowed}.ptx-runestone-container .label,.runestone-sphinx .label{border-radius:.25em;color:#fff;display:inline;font-size:75%;font-weight:700;line-height:1;padding:.2em .6em .3em;text-align:center;vertical-align:baseline;white-space:nowrap}.ptx-runestone-container a.label:focus,.ptx-runestone-container a.label:hover,.runestone-sphinx a.label:focus,.runestone-sphinx a.label:hover{color:#fff;cursor:pointer;text-decoration:none}.ptx-runestone-container .label:empty,.runestone-sphinx .label:empty{display:none}.ptx-runestone-container .btn .label,.runestone-sphinx .btn .label{position:relative;top:-1px}.ptx-runestone-container .label-default,.runestone-sphinx .label-default{background-color:#777}.ptx-runestone-container .label-default[href]:focus,.ptx-runestone-container .label-default[href]:hover,.runestone-sphinx .label-default[href]:focus,.runestone-sphinx .label-default[href]:hover{background-color:#5e5e5e}.ptx-runestone-container .label-primary,.runestone-sphinx .label-primary{background-color:#337ab7}.ptx-runestone-container .label-primary[href]:focus,.ptx-runestone-container .label-primary[href]:hover,.runestone-sphinx .label-primary[href]:focus,.runestone-sphinx .label-primary[href]:hover{background-color:#286090}.ptx-runestone-container .label-success,.runestone-sphinx .label-success{background-color:#5cb85c}.ptx-runestone-container .label-success[href]:focus,.ptx-runestone-container .label-success[href]:hover,.runestone-sphinx .label-success[href]:focus,.runestone-sphinx .label-success[href]:hover{background-color:#449d44}.ptx-runestone-container .label-info,.runestone-sphinx .label-info{background-color:#5bc0de}.ptx-runestone-container .label-info[href]:focus,.ptx-runestone-container .label-info[href]:hover,.runestone-sphinx .label-info[href]:focus,.runestone-sphinx .label-info[href]:hover{background-color:#31b0d5}.ptx-runestone-container .label-warning,.runestone-sphinx .label-warning{background-color:#f0ad4e}.ptx-runestone-container .label-warning[href]:focus,.ptx-runestone-container .label-warning[href]:hover,.runestone-sphinx .label-warning[href]:focus,.runestone-sphinx .label-warning[href]:hover{background-color:#ec971f}.ptx-runestone-container .label-danger,.runestone-sphinx .label-danger{background-color:#d9534f}.ptx-runestone-container .label-danger[href]:focus,.ptx-runestone-container .label-danger[href]:hover,.runestone-sphinx .label-danger[href]:focus,.runestone-sphinx .label-danger[href]:hover{background-color:#c9302c}.ptx-runestone-container .badge,.runestone-sphinx .badge{background-color:#777;border-radius:10px;color:#fff;display:inline-block;font-size:12px;font-weight:700;line-height:1;min-width:10px;padding:3px 7px;text-align:center;vertical-align:middle;white-space:nowrap}.ptx-runestone-container .badge:empty,.runestone-sphinx .badge:empty{display:none}.ptx-runestone-container .btn .badge,.runestone-sphinx .btn .badge{position:relative;top:-1px}.ptx-runestone-container .btn-group-xs>.btn .badge,.ptx-runestone-container .btn-xs .badge,.runestone-sphinx .btn-group-xs>.btn .badge,.runestone-sphinx .btn-xs .badge{padding:1px 5px;top:0}.ptx-runestone-container a.badge:focus,.ptx-runestone-container a.badge:hover,.runestone-sphinx a.badge:focus,.runestone-sphinx a.badge:hover{color:#fff;cursor:pointer;text-decoration:none}.ptx-runestone-container .list-group-item.active>.badge,.ptx-runestone-container .nav-pills>.active>a>.badge,.runestone-sphinx .list-group-item.active>.badge,.runestone-sphinx .nav-pills>.active>a>.badge{background-color:#fff;color:#337ab7}.ptx-runestone-container .list-group-item>.badge,.runestone-sphinx .list-group-item>.badge{float:right}.ptx-runestone-container .list-group-item>.badge+.badge,.runestone-sphinx .list-group-item>.badge+.badge{margin-right:5px}.ptx-runestone-container .nav-pills>li>a>.badge,.runestone-sphinx .nav-pills>li>a>.badge{margin-left:3px}.ptx-runestone-container .jumbotron,.runestone-sphinx .jumbotron{background-color:#eee;color:inherit;margin-bottom:30px;padding-bottom:30px;padding-top:30px}.ptx-runestone-container .jumbotron .h1,.ptx-runestone-container .jumbotron h1,.runestone-sphinx .jumbotron .h1,.runestone-sphinx .jumbotron h1{color:inherit}.ptx-runestone-container .jumbotron p,.runestone-sphinx .jumbotron p{font-size:21px;font-weight:200;margin-bottom:15px}.ptx-runestone-container .jumbotron>hr,.runestone-sphinx .jumbotron>hr{border-top-color:#d5d5d5}.ptx-runestone-container .container .jumbotron,.ptx-runestone-container .container-fluid .jumbotron,.runestone-sphinx .container .jumbotron,.runestone-sphinx .container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.ptx-runestone-container .jumbotron .container,.runestone-sphinx .jumbotron .container{max-width:100%}@media screen and (min-width:768px){.ptx-runestone-container .jumbotron,.runestone-sphinx .jumbotron{padding-bottom:48px;padding-top:48px}.ptx-runestone-container .container .jumbotron,.ptx-runestone-container .container-fluid .jumbotron,.runestone-sphinx .container .jumbotron,.runestone-sphinx .container-fluid .jumbotron{padding-left:60px;padding-right:60px}.ptx-runestone-container .jumbotron .h1,.ptx-runestone-container .jumbotron h1,.runestone-sphinx .jumbotron .h1,.runestone-sphinx .jumbotron h1{font-size:63px}}.ptx-runestone-container .thumbnail,.runestone-sphinx .thumbnail{background-color:#fff;border:1px solid #ddd;border-radius:4px;display:block;line-height:1.42857143;margin-bottom:20px;padding:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.ptx-runestone-container .thumbnail a>img,.ptx-runestone-container .thumbnail>img,.runestone-sphinx .thumbnail a>img,.runestone-sphinx .thumbnail>img{margin-left:auto;margin-right:auto}.ptx-runestone-container a.thumbnail.active,.ptx-runestone-container a.thumbnail:focus,.ptx-runestone-container a.thumbnail:hover,.runestone-sphinx a.thumbnail.active,.runestone-sphinx a.thumbnail:focus,.runestone-sphinx a.thumbnail:hover{border-color:#337ab7}.ptx-runestone-container .thumbnail .caption,.runestone-sphinx .thumbnail .caption{color:#333;padding:9px}.ptx-runestone-container .alert,.runestone-sphinx .alert{border:1px solid transparent;border-radius:4px;margin-bottom:20px;padding:15px}.ptx-runestone-container .alert h4,.runestone-sphinx .alert h4{color:inherit;margin-top:0}.ptx-runestone-container .alert .alert-link,.runestone-sphinx .alert .alert-link{font-weight:700}.ptx-runestone-container .alert>p,.ptx-runestone-container .alert>ul,.runestone-sphinx .alert>p,.runestone-sphinx .alert>ul{margin-bottom:0}.ptx-runestone-container .alert>p+p,.runestone-sphinx .alert>p+p{margin-top:5px}.ptx-runestone-container .alert-dismissable,.ptx-runestone-container .alert-dismissible,.runestone-sphinx .alert-dismissable,.runestone-sphinx .alert-dismissible{padding-right:35px}.ptx-runestone-container .alert-dismissable .close,.ptx-runestone-container .alert-dismissible .close,.runestone-sphinx .alert-dismissable .close,.runestone-sphinx .alert-dismissible .close{color:inherit;position:relative;right:-21px;top:-2px}.ptx-runestone-container .alert-success,.runestone-sphinx .alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.ptx-runestone-container .alert-success hr,.runestone-sphinx .alert-success hr{border-top-color:#c9e2b3}.ptx-runestone-container .alert-success .alert-link,.runestone-sphinx .alert-success .alert-link{color:#2b542c}.ptx-runestone-container .alert-info,.runestone-sphinx .alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.ptx-runestone-container .alert-info hr,.runestone-sphinx .alert-info hr{border-top-color:#a6e1ec}.ptx-runestone-container .alert-info .alert-link,.runestone-sphinx .alert-info .alert-link{color:#245269}.ptx-runestone-container .alert-warning,.runestone-sphinx .alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.ptx-runestone-container .alert-warning hr,.runestone-sphinx .alert-warning hr{border-top-color:#f7e1b5}.ptx-runestone-container .alert-warning .alert-link,.runestone-sphinx .alert-warning .alert-link{color:#66512c}.ptx-runestone-container .alert-danger,.runestone-sphinx .alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.ptx-runestone-container .alert-danger hr,.runestone-sphinx .alert-danger hr{border-top-color:#e4b9c0}.ptx-runestone-container .alert-danger .alert-link,.runestone-sphinx .alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.ptx-runestone-container .progress,.runestone-sphinx .progress{background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);height:20px;margin-bottom:20px;overflow:hidden}.ptx-runestone-container .progress-bar,.runestone-sphinx .progress-bar{background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);color:#fff;float:left;font-size:12px;height:100%;line-height:20px;text-align:center;-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease;width:0}.ptx-runestone-container .progress-bar-striped,.ptx-runestone-container .progress-striped .progress-bar,.runestone-sphinx .progress-bar-striped,.runestone-sphinx .progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.ptx-runestone-container .progress-bar.active,.ptx-runestone-container .progress.active .progress-bar,.runestone-sphinx .progress-bar.active,.runestone-sphinx .progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.ptx-runestone-container .progress-bar-success,.runestone-sphinx .progress-bar-success{background-color:#5cb85c}.ptx-runestone-container .progress-striped .progress-bar-success,.runestone-sphinx .progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .progress-bar-info,.runestone-sphinx .progress-bar-info{background-color:#5bc0de}.ptx-runestone-container .progress-striped .progress-bar-info,.runestone-sphinx .progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .progress-bar-warning,.runestone-sphinx .progress-bar-warning{background-color:#f0ad4e}.ptx-runestone-container .progress-striped .progress-bar-warning,.runestone-sphinx .progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .progress-bar-danger,.runestone-sphinx .progress-bar-danger{background-color:#d9534f}.ptx-runestone-container .progress-striped .progress-bar-danger,.runestone-sphinx .progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-image:-o-linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 25%,transparent 50%,hsla(0,0%,100%,.15) 50%,hsla(0,0%,100%,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ptx-runestone-container .media,.runestone-sphinx .media{margin-top:15px}.ptx-runestone-container .media:first-child,.runestone-sphinx .media:first-child{margin-top:0}.ptx-runestone-container .media,.ptx-runestone-container .media-body,.runestone-sphinx .media,.runestone-sphinx .media-body{zoom:1;overflow:hidden}.ptx-runestone-container .media-body,.runestone-sphinx .media-body{width:10000px}.ptx-runestone-container .media-object,.runestone-sphinx .media-object{display:block}.ptx-runestone-container .media-object.img-thumbnail,.runestone-sphinx .media-object.img-thumbnail{max-width:none}.ptx-runestone-container .media-right,.ptx-runestone-container .media>.pull-right,.runestone-sphinx .media-right,.runestone-sphinx .media>.pull-right{padding-left:10px}.ptx-runestone-container .media-left,.ptx-runestone-container .media>.pull-left,.runestone-sphinx .media-left,.runestone-sphinx .media>.pull-left{padding-right:10px}.ptx-runestone-container .media-body,.ptx-runestone-container .media-left,.ptx-runestone-container .media-right,.runestone-sphinx .media-body,.runestone-sphinx .media-left,.runestone-sphinx .media-right{display:table-cell;vertical-align:top}.ptx-runestone-container .media-middle,.runestone-sphinx .media-middle{vertical-align:middle}.ptx-runestone-container .media-bottom,.runestone-sphinx .media-bottom{vertical-align:bottom}.ptx-runestone-container .media-heading,.runestone-sphinx .media-heading{margin-bottom:5px;margin-top:0}.ptx-runestone-container .media-list,.runestone-sphinx .media-list{list-style:none;padding-left:0}.ptx-runestone-container .list-group,.runestone-sphinx .list-group{margin-bottom:20px;padding-left:0}.ptx-runestone-container .list-group-item,.runestone-sphinx .list-group-item{background-color:#fff;border:1px solid #ddd;display:block;margin-bottom:-1px;padding:10px 15px;position:relative}.ptx-runestone-container .list-group-item:first-child,.runestone-sphinx .list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.ptx-runestone-container .list-group-item:last-child,.runestone-sphinx .list-group-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;margin-bottom:0}.ptx-runestone-container .list-group-item.disabled,.ptx-runestone-container .list-group-item.disabled:focus,.ptx-runestone-container .list-group-item.disabled:hover,.runestone-sphinx .list-group-item.disabled,.runestone-sphinx .list-group-item.disabled:focus,.runestone-sphinx .list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.ptx-runestone-container .list-group-item.disabled .list-group-item-heading,.ptx-runestone-container .list-group-item.disabled:focus .list-group-item-heading,.ptx-runestone-container .list-group-item.disabled:hover .list-group-item-heading,.runestone-sphinx .list-group-item.disabled .list-group-item-heading,.runestone-sphinx .list-group-item.disabled:focus .list-group-item-heading,.runestone-sphinx .list-group-item.disabled:hover .list-group-item-heading{color:inherit}.ptx-runestone-container .list-group-item.disabled .list-group-item-text,.ptx-runestone-container .list-group-item.disabled:focus .list-group-item-text,.ptx-runestone-container .list-group-item.disabled:hover .list-group-item-text,.runestone-sphinx .list-group-item.disabled .list-group-item-text,.runestone-sphinx .list-group-item.disabled:focus .list-group-item-text,.runestone-sphinx .list-group-item.disabled:hover .list-group-item-text{color:#777}.ptx-runestone-container .list-group-item.active,.ptx-runestone-container .list-group-item.active:focus,.ptx-runestone-container .list-group-item.active:hover,.runestone-sphinx .list-group-item.active,.runestone-sphinx .list-group-item.active:focus,.runestone-sphinx .list-group-item.active:hover{background-color:#337ab7;border-color:#337ab7;color:#fff;z-index:2}.ptx-runestone-container .list-group-item.active .list-group-item-heading,.ptx-runestone-container .list-group-item.active .list-group-item-heading>.small,.ptx-runestone-container .list-group-item.active .list-group-item-heading>small,.ptx-runestone-container .list-group-item.active:focus .list-group-item-heading,.ptx-runestone-container .list-group-item.active:focus .list-group-item-heading>.small,.ptx-runestone-container .list-group-item.active:focus .list-group-item-heading>small,.ptx-runestone-container .list-group-item.active:hover .list-group-item-heading,.ptx-runestone-container .list-group-item.active:hover .list-group-item-heading>.small,.ptx-runestone-container .list-group-item.active:hover .list-group-item-heading>small,.runestone-sphinx .list-group-item.active .list-group-item-heading,.runestone-sphinx .list-group-item.active .list-group-item-heading>.small,.runestone-sphinx .list-group-item.active .list-group-item-heading>small,.runestone-sphinx .list-group-item.active:focus .list-group-item-heading,.runestone-sphinx .list-group-item.active:focus .list-group-item-heading>.small,.runestone-sphinx .list-group-item.active:focus .list-group-item-heading>small,.runestone-sphinx .list-group-item.active:hover .list-group-item-heading,.runestone-sphinx .list-group-item.active:hover .list-group-item-heading>.small,.runestone-sphinx .list-group-item.active:hover .list-group-item-heading>small{color:inherit}.ptx-runestone-container .list-group-item.active .list-group-item-text,.ptx-runestone-container .list-group-item.active:focus .list-group-item-text,.ptx-runestone-container .list-group-item.active:hover .list-group-item-text,.runestone-sphinx .list-group-item.active .list-group-item-text,.runestone-sphinx .list-group-item.active:focus .list-group-item-text,.runestone-sphinx .list-group-item.active:hover .list-group-item-text{color:#c7ddef}.ptx-runestone-container a.list-group-item,.ptx-runestone-container button.list-group-item,.runestone-sphinx a.list-group-item,.runestone-sphinx button.list-group-item{color:#555}.ptx-runestone-container a.list-group-item .list-group-item-heading,.ptx-runestone-container button.list-group-item .list-group-item-heading,.runestone-sphinx a.list-group-item .list-group-item-heading,.runestone-sphinx button.list-group-item .list-group-item-heading{color:#333}.ptx-runestone-container a.list-group-item:focus,.ptx-runestone-container a.list-group-item:hover,.ptx-runestone-container button.list-group-item:focus,.ptx-runestone-container button.list-group-item:hover,.runestone-sphinx a.list-group-item:focus,.runestone-sphinx a.list-group-item:hover,.runestone-sphinx button.list-group-item:focus,.runestone-sphinx button.list-group-item:hover{background-color:#f5f5f5;color:#555;text-decoration:none}.ptx-runestone-container button.list-group-item,.runestone-sphinx button.list-group-item{text-align:left;width:100%}.ptx-runestone-container .list-group-item-success,.runestone-sphinx .list-group-item-success{background-color:#dff0d8;color:#3c763d}.ptx-runestone-container a.list-group-item-success,.ptx-runestone-container button.list-group-item-success,.runestone-sphinx a.list-group-item-success,.runestone-sphinx button.list-group-item-success{color:#3c763d}.ptx-runestone-container a.list-group-item-success .list-group-item-heading,.ptx-runestone-container button.list-group-item-success .list-group-item-heading,.runestone-sphinx a.list-group-item-success .list-group-item-heading,.runestone-sphinx button.list-group-item-success .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-success:focus,.ptx-runestone-container a.list-group-item-success:hover,.ptx-runestone-container button.list-group-item-success:focus,.ptx-runestone-container button.list-group-item-success:hover,.runestone-sphinx a.list-group-item-success:focus,.runestone-sphinx a.list-group-item-success:hover,.runestone-sphinx button.list-group-item-success:focus,.runestone-sphinx button.list-group-item-success:hover{background-color:#d0e9c6;color:#3c763d}.ptx-runestone-container a.list-group-item-success.active,.ptx-runestone-container a.list-group-item-success.active:focus,.ptx-runestone-container a.list-group-item-success.active:hover,.ptx-runestone-container button.list-group-item-success.active,.ptx-runestone-container button.list-group-item-success.active:focus,.ptx-runestone-container button.list-group-item-success.active:hover,.runestone-sphinx a.list-group-item-success.active,.runestone-sphinx a.list-group-item-success.active:focus,.runestone-sphinx a.list-group-item-success.active:hover,.runestone-sphinx button.list-group-item-success.active,.runestone-sphinx button.list-group-item-success.active:focus,.runestone-sphinx button.list-group-item-success.active:hover{background-color:#3c763d;border-color:#3c763d;color:#fff}.ptx-runestone-container .list-group-item-info,.runestone-sphinx .list-group-item-info{background-color:#d9edf7;color:#31708f}.ptx-runestone-container a.list-group-item-info,.ptx-runestone-container button.list-group-item-info,.runestone-sphinx a.list-group-item-info,.runestone-sphinx button.list-group-item-info{color:#31708f}.ptx-runestone-container a.list-group-item-info .list-group-item-heading,.ptx-runestone-container button.list-group-item-info .list-group-item-heading,.runestone-sphinx a.list-group-item-info .list-group-item-heading,.runestone-sphinx button.list-group-item-info .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-info:focus,.ptx-runestone-container a.list-group-item-info:hover,.ptx-runestone-container button.list-group-item-info:focus,.ptx-runestone-container button.list-group-item-info:hover,.runestone-sphinx a.list-group-item-info:focus,.runestone-sphinx a.list-group-item-info:hover,.runestone-sphinx button.list-group-item-info:focus,.runestone-sphinx button.list-group-item-info:hover{background-color:#c4e3f3;color:#31708f}.ptx-runestone-container a.list-group-item-info.active,.ptx-runestone-container a.list-group-item-info.active:focus,.ptx-runestone-container a.list-group-item-info.active:hover,.ptx-runestone-container button.list-group-item-info.active,.ptx-runestone-container button.list-group-item-info.active:focus,.ptx-runestone-container button.list-group-item-info.active:hover,.runestone-sphinx a.list-group-item-info.active,.runestone-sphinx a.list-group-item-info.active:focus,.runestone-sphinx a.list-group-item-info.active:hover,.runestone-sphinx button.list-group-item-info.active,.runestone-sphinx button.list-group-item-info.active:focus,.runestone-sphinx button.list-group-item-info.active:hover{background-color:#31708f;border-color:#31708f;color:#fff}.ptx-runestone-container .list-group-item-warning,.runestone-sphinx .list-group-item-warning{background-color:#fcf8e3;color:#8a6d3b}.ptx-runestone-container a.list-group-item-warning,.ptx-runestone-container button.list-group-item-warning,.runestone-sphinx a.list-group-item-warning,.runestone-sphinx button.list-group-item-warning{color:#8a6d3b}.ptx-runestone-container a.list-group-item-warning .list-group-item-heading,.ptx-runestone-container button.list-group-item-warning .list-group-item-heading,.runestone-sphinx a.list-group-item-warning .list-group-item-heading,.runestone-sphinx button.list-group-item-warning .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-warning:focus,.ptx-runestone-container a.list-group-item-warning:hover,.ptx-runestone-container button.list-group-item-warning:focus,.ptx-runestone-container button.list-group-item-warning:hover,.runestone-sphinx a.list-group-item-warning:focus,.runestone-sphinx a.list-group-item-warning:hover,.runestone-sphinx button.list-group-item-warning:focus,.runestone-sphinx button.list-group-item-warning:hover{background-color:#faf2cc;color:#8a6d3b}.ptx-runestone-container a.list-group-item-warning.active,.ptx-runestone-container a.list-group-item-warning.active:focus,.ptx-runestone-container a.list-group-item-warning.active:hover,.ptx-runestone-container button.list-group-item-warning.active,.ptx-runestone-container button.list-group-item-warning.active:focus,.ptx-runestone-container button.list-group-item-warning.active:hover,.runestone-sphinx a.list-group-item-warning.active,.runestone-sphinx a.list-group-item-warning.active:focus,.runestone-sphinx a.list-group-item-warning.active:hover,.runestone-sphinx button.list-group-item-warning.active,.runestone-sphinx button.list-group-item-warning.active:focus,.runestone-sphinx button.list-group-item-warning.active:hover{background-color:#8a6d3b;border-color:#8a6d3b;color:#fff}.ptx-runestone-container .list-group-item-danger,.runestone-sphinx .list-group-item-danger{background-color:#f2dede;color:#a94442}.ptx-runestone-container a.list-group-item-danger,.ptx-runestone-container button.list-group-item-danger,.runestone-sphinx a.list-group-item-danger,.runestone-sphinx button.list-group-item-danger{color:#a94442}.ptx-runestone-container a.list-group-item-danger .list-group-item-heading,.ptx-runestone-container button.list-group-item-danger .list-group-item-heading,.runestone-sphinx a.list-group-item-danger .list-group-item-heading,.runestone-sphinx button.list-group-item-danger .list-group-item-heading{color:inherit}.ptx-runestone-container a.list-group-item-danger:focus,.ptx-runestone-container a.list-group-item-danger:hover,.ptx-runestone-container button.list-group-item-danger:focus,.ptx-runestone-container button.list-group-item-danger:hover,.runestone-sphinx a.list-group-item-danger:focus,.runestone-sphinx a.list-group-item-danger:hover,.runestone-sphinx button.list-group-item-danger:focus,.runestone-sphinx button.list-group-item-danger:hover{background-color:#ebcccc;color:#a94442}.ptx-runestone-container a.list-group-item-danger.active,.ptx-runestone-container a.list-group-item-danger.active:focus,.ptx-runestone-container a.list-group-item-danger.active:hover,.ptx-runestone-container button.list-group-item-danger.active,.ptx-runestone-container button.list-group-item-danger.active:focus,.ptx-runestone-container button.list-group-item-danger.active:hover,.runestone-sphinx a.list-group-item-danger.active,.runestone-sphinx a.list-group-item-danger.active:focus,.runestone-sphinx a.list-group-item-danger.active:hover,.runestone-sphinx button.list-group-item-danger.active,.runestone-sphinx button.list-group-item-danger.active:focus,.runestone-sphinx button.list-group-item-danger.active:hover{background-color:#a94442;border-color:#a94442;color:#fff}.ptx-runestone-container .list-group-item-heading,.runestone-sphinx .list-group-item-heading{margin-bottom:5px;margin-top:0}.ptx-runestone-container .list-group-item-text,.runestone-sphinx .list-group-item-text{line-height:1.3;margin-bottom:0}.ptx-runestone-container .panel,.runestone-sphinx .panel{background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05);margin-bottom:20px}.ptx-runestone-container .panel-body,.runestone-sphinx .panel-body{padding:15px}.ptx-runestone-container .panel-heading,.runestone-sphinx .panel-heading{border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px;padding:10px 15px}.ptx-runestone-container .panel-heading>.dropdown .dropdown-toggle,.runestone-sphinx .panel-heading>.dropdown .dropdown-toggle{color:inherit}.ptx-runestone-container .panel-title,.runestone-sphinx .panel-title{color:inherit;font-size:16px;margin-bottom:0;margin-top:0}.ptx-runestone-container .panel-title>.small,.ptx-runestone-container .panel-title>.small>a,.ptx-runestone-container .panel-title>a,.ptx-runestone-container .panel-title>small,.ptx-runestone-container .panel-title>small>a,.runestone-sphinx .panel-title>.small,.runestone-sphinx .panel-title>.small>a,.runestone-sphinx .panel-title>a,.runestone-sphinx .panel-title>small,.runestone-sphinx .panel-title>small>a{color:inherit}.ptx-runestone-container .panel-footer,.runestone-sphinx .panel-footer{background-color:#f5f5f5;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #ddd;padding:10px 15px}.ptx-runestone-container .panel>.list-group,.ptx-runestone-container .panel>.panel-collapse>.list-group,.runestone-sphinx .panel>.list-group,.runestone-sphinx .panel>.panel-collapse>.list-group{margin-bottom:0}.ptx-runestone-container .panel>.list-group .list-group-item,.ptx-runestone-container .panel>.panel-collapse>.list-group .list-group-item,.runestone-sphinx .panel>.list-group .list-group-item,.runestone-sphinx .panel>.panel-collapse>.list-group .list-group-item{border-radius:0;border-width:1px 0}.ptx-runestone-container .panel>.list-group:first-child .list-group-item:first-child,.ptx-runestone-container .panel>.panel-collapse>.list-group:first-child .list-group-item:first-child,.runestone-sphinx .panel>.list-group:first-child .list-group-item:first-child,.runestone-sphinx .panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.ptx-runestone-container .panel>.list-group:last-child .list-group-item:last-child,.ptx-runestone-container .panel>.panel-collapse>.list-group:last-child .list-group-item:last-child,.runestone-sphinx .panel>.list-group:last-child .list-group-item:last-child,.runestone-sphinx .panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.ptx-runestone-container .panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child,.runestone-sphinx .panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.ptx-runestone-container .list-group+.panel-footer,.ptx-runestone-container .panel-heading+.list-group .list-group-item:first-child,.runestone-sphinx .list-group+.panel-footer,.runestone-sphinx .panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.ptx-runestone-container .panel>.panel-collapse>.table,.ptx-runestone-container .panel>.table,.ptx-runestone-container .panel>.table-responsive>.table,.runestone-sphinx .panel>.panel-collapse>.table,.runestone-sphinx .panel>.table,.runestone-sphinx .panel>.table-responsive>.table{margin-bottom:0}.ptx-runestone-container .panel>.panel-collapse>.table caption,.ptx-runestone-container .panel>.table caption,.ptx-runestone-container .panel>.table-responsive>.table caption,.runestone-sphinx .panel>.panel-collapse>.table caption,.runestone-sphinx .panel>.table caption,.runestone-sphinx .panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.ptx-runestone-container .panel>.table:first-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.runestone-sphinx .panel>.table:first-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.ptx-runestone-container .panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.runestone-sphinx .panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.ptx-runestone-container .panel>.table:last-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.runestone-sphinx .panel>.table:last-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.ptx-runestone-container .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.runestone-sphinx .panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.ptx-runestone-container .panel>.panel-body+.table,.ptx-runestone-container .panel>.panel-body+.table-responsive,.ptx-runestone-container .panel>.table+.panel-body,.ptx-runestone-container .panel>.table-responsive+.panel-body,.runestone-sphinx .panel>.panel-body+.table,.runestone-sphinx .panel>.panel-body+.table-responsive,.runestone-sphinx .panel>.table+.panel-body,.runestone-sphinx .panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.ptx-runestone-container .panel>.table>tbody:first-child>tr:first-child td,.ptx-runestone-container .panel>.table>tbody:first-child>tr:first-child th,.runestone-sphinx .panel>.table>tbody:first-child>tr:first-child td,.runestone-sphinx .panel>.table>tbody:first-child>tr:first-child th{border-top:0}.ptx-runestone-container .panel>.table-bordered,.ptx-runestone-container .panel>.table-responsive>.table-bordered,.runestone-sphinx .panel>.table-bordered,.runestone-sphinx .panel>.table-responsive>.table-bordered{border:0}.ptx-runestone-container .panel>.table-bordered>tbody>tr>td:first-child,.ptx-runestone-container .panel>.table-bordered>tbody>tr>th:first-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>td:first-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>th:first-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>td:first-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>th:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>td:first-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>th:first-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>td:first-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>th:first-child,.runestone-sphinx .panel>.table-bordered>thead>tr>td:first-child,.runestone-sphinx .panel>.table-bordered>thead>tr>th:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.ptx-runestone-container .panel>.table-bordered>tbody>tr>td:last-child,.ptx-runestone-container .panel>.table-bordered>tbody>tr>th:last-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>td:last-child,.ptx-runestone-container .panel>.table-bordered>tfoot>tr>th:last-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>td:last-child,.ptx-runestone-container .panel>.table-bordered>thead>tr>th:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>td:last-child,.runestone-sphinx .panel>.table-bordered>tbody>tr>th:last-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>td:last-child,.runestone-sphinx .panel>.table-bordered>tfoot>tr>th:last-child,.runestone-sphinx .panel>.table-bordered>thead>tr>td:last-child,.runestone-sphinx .panel>.table-bordered>thead>tr>th:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.ptx-runestone-container .panel>.table-bordered>tbody>tr:first-child>td,.ptx-runestone-container .panel>.table-bordered>tbody>tr:first-child>th,.ptx-runestone-container .panel>.table-bordered>tbody>tr:last-child>td,.ptx-runestone-container .panel>.table-bordered>tbody>tr:last-child>th,.ptx-runestone-container .panel>.table-bordered>tfoot>tr:last-child>td,.ptx-runestone-container .panel>.table-bordered>tfoot>tr:last-child>th,.ptx-runestone-container .panel>.table-bordered>thead>tr:first-child>td,.ptx-runestone-container .panel>.table-bordered>thead>tr:first-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.ptx-runestone-container .panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.runestone-sphinx .panel>.table-bordered>tbody>tr:first-child>td,.runestone-sphinx .panel>.table-bordered>tbody>tr:first-child>th,.runestone-sphinx .panel>.table-bordered>tbody>tr:last-child>td,.runestone-sphinx .panel>.table-bordered>tbody>tr:last-child>th,.runestone-sphinx .panel>.table-bordered>tfoot>tr:last-child>td,.runestone-sphinx .panel>.table-bordered>tfoot>tr:last-child>th,.runestone-sphinx .panel>.table-bordered>thead>tr:first-child>td,.runestone-sphinx .panel>.table-bordered>thead>tr:first-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.runestone-sphinx .panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.ptx-runestone-container .panel>.table-responsive,.runestone-sphinx .panel>.table-responsive{border:0;margin-bottom:0}.ptx-runestone-container .panel-group,.runestone-sphinx .panel-group{margin-bottom:20px}.ptx-runestone-container .panel-group .panel,.runestone-sphinx .panel-group .panel{border-radius:4px;margin-bottom:0}.ptx-runestone-container .panel-group .panel+.panel,.runestone-sphinx .panel-group .panel+.panel{margin-top:5px}.ptx-runestone-container .panel-group .panel-heading,.runestone-sphinx .panel-group .panel-heading{border-bottom:0}.ptx-runestone-container .panel-group .panel-heading+.panel-collapse>.list-group,.ptx-runestone-container .panel-group .panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-group .panel-heading+.panel-collapse>.list-group,.runestone-sphinx .panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.ptx-runestone-container .panel-group .panel-footer,.runestone-sphinx .panel-group .panel-footer{border-top:0}.ptx-runestone-container .panel-group .panel-footer+.panel-collapse .panel-body,.runestone-sphinx .panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.ptx-runestone-container .panel-default,.runestone-sphinx .panel-default{border-color:#ddd}.ptx-runestone-container .panel-default>.panel-heading,.runestone-sphinx .panel-default>.panel-heading{background-color:#f5f5f5;border-color:#ddd;color:#333}.ptx-runestone-container .panel-default>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.ptx-runestone-container .panel-default>.panel-heading .badge,.runestone-sphinx .panel-default>.panel-heading .badge{background-color:#333;color:#f5f5f5}.ptx-runestone-container .panel-default>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.ptx-runestone-container .panel-primary,.runestone-sphinx .panel-primary{border-color:#337ab7}.ptx-runestone-container .panel-primary>.panel-heading,.runestone-sphinx .panel-primary>.panel-heading{background-color:#337ab7;border-color:#337ab7;color:#fff}.ptx-runestone-container .panel-primary>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.ptx-runestone-container .panel-primary>.panel-heading .badge,.runestone-sphinx .panel-primary>.panel-heading .badge{background-color:#fff;color:#337ab7}.ptx-runestone-container .panel-primary>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.ptx-runestone-container .panel-success,.runestone-sphinx .panel-success{border-color:#d6e9c6}.ptx-runestone-container .panel-success>.panel-heading,.runestone-sphinx .panel-success>.panel-heading{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.ptx-runestone-container .panel-success>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.ptx-runestone-container .panel-success>.panel-heading .badge,.runestone-sphinx .panel-success>.panel-heading .badge{background-color:#3c763d;color:#dff0d8}.ptx-runestone-container .panel-success>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.ptx-runestone-container .panel-info,.runestone-sphinx .panel-info{border-color:#bce8f1}.ptx-runestone-container .panel-info>.panel-heading,.runestone-sphinx .panel-info>.panel-heading{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.ptx-runestone-container .panel-info>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.ptx-runestone-container .panel-info>.panel-heading .badge,.runestone-sphinx .panel-info>.panel-heading .badge{background-color:#31708f;color:#d9edf7}.ptx-runestone-container .panel-info>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.ptx-runestone-container .panel-warning,.runestone-sphinx .panel-warning{border-color:#faebcc}.ptx-runestone-container .panel-warning>.panel-heading,.runestone-sphinx .panel-warning>.panel-heading{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.ptx-runestone-container .panel-warning>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.ptx-runestone-container .panel-warning>.panel-heading .badge,.runestone-sphinx .panel-warning>.panel-heading .badge{background-color:#8a6d3b;color:#fcf8e3}.ptx-runestone-container .panel-warning>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.ptx-runestone-container .panel-danger,.runestone-sphinx .panel-danger{border-color:#ebccd1}.ptx-runestone-container .panel-danger>.panel-heading,.runestone-sphinx .panel-danger>.panel-heading{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.ptx-runestone-container .panel-danger>.panel-heading+.panel-collapse>.panel-body,.runestone-sphinx .panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.ptx-runestone-container .panel-danger>.panel-heading .badge,.runestone-sphinx .panel-danger>.panel-heading .badge{background-color:#a94442;color:#f2dede}.ptx-runestone-container .panel-danger>.panel-footer+.panel-collapse>.panel-body,.runestone-sphinx .panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.ptx-runestone-container .embed-responsive,.runestone-sphinx .embed-responsive{display:block;height:0;overflow:hidden;padding:0;position:relative}.ptx-runestone-container .embed-responsive .embed-responsive-item,.ptx-runestone-container .embed-responsive embed,.ptx-runestone-container .embed-responsive iframe,.ptx-runestone-container .embed-responsive object,.ptx-runestone-container .embed-responsive video,.runestone-sphinx .embed-responsive .embed-responsive-item,.runestone-sphinx .embed-responsive embed,.runestone-sphinx .embed-responsive iframe,.runestone-sphinx .embed-responsive object,.runestone-sphinx .embed-responsive video{border:0;bottom:0;height:100%;left:0;position:absolute;top:0;width:100%}.ptx-runestone-container .embed-responsive-16by9,.runestone-sphinx .embed-responsive-16by9{padding-bottom:56.25%}.ptx-runestone-container .embed-responsive-4by3,.runestone-sphinx .embed-responsive-4by3{padding-bottom:75%}.ptx-runestone-container .well,.runestone-sphinx .well{background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);margin-bottom:20px;min-height:20px;padding:19px}.ptx-runestone-container .well blockquote,.runestone-sphinx .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.ptx-runestone-container .well-lg,.runestone-sphinx .well-lg{border-radius:6px;padding:24px}.ptx-runestone-container .well-sm,.runestone-sphinx .well-sm{border-radius:3px;padding:9px}.ptx-runestone-container .close,.runestone-sphinx .close{color:#000;filter:alpha(opacity=20);float:right;font-size:21px;font-weight:700;line-height:1;opacity:.2;text-shadow:0 1px 0 #fff}.ptx-runestone-container .close:focus,.ptx-runestone-container .close:hover,.runestone-sphinx .close:focus,.runestone-sphinx .close:hover{color:#000;cursor:pointer;filter:alpha(opacity=50);opacity:.5;text-decoration:none}.ptx-runestone-container button.close,.runestone-sphinx button.close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;cursor:pointer;padding:0}.ptx-runestone-container .modal-open,.runestone-sphinx .modal-open{overflow:hidden}.ptx-runestone-container .modal,.runestone-sphinx .modal{-webkit-overflow-scrolling:touch;bottom:0;display:none;left:0;outline:0;overflow:hidden;position:fixed;right:0;top:0;z-index:1050}.ptx-runestone-container .modal.fade .modal-dialog,.runestone-sphinx .modal.fade .modal-dialog{-webkit-transform:translateY(-25%);-ms-transform:translateY(-25%);-o-transform:translateY(-25%);transform:translateY(-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.ptx-runestone-container .modal.in .modal-dialog,.runestone-sphinx .modal.in .modal-dialog{-webkit-transform:translate(0);-ms-transform:translate(0);-o-transform:translate(0);transform:translate(0)}.ptx-runestone-container .modal-open .modal,.runestone-sphinx .modal-open .modal{overflow-x:hidden;overflow-y:auto}.ptx-runestone-container .modal-dialog,.runestone-sphinx .modal-dialog{margin:10px;position:relative;width:auto}.ptx-runestone-container .modal-content,.runestone-sphinx .modal-content{background-clip:padding-box;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0;position:relative}.ptx-runestone-container .modal-backdrop,.runestone-sphinx .modal-backdrop{background-color:#000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1040}.ptx-runestone-container .modal-backdrop.fade,.runestone-sphinx .modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.ptx-runestone-container .modal-backdrop.in,.runestone-sphinx .modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.ptx-runestone-container .modal-header,.runestone-sphinx .modal-header{border-bottom:1px solid #e5e5e5;padding:15px}.ptx-runestone-container .modal-header .close,.runestone-sphinx .modal-header .close{margin-top:-2px}.ptx-runestone-container .modal-title,.runestone-sphinx .modal-title{line-height:1.42857143;margin:0}.ptx-runestone-container .modal-body,.runestone-sphinx .modal-body{padding:15px;position:relative}.ptx-runestone-container .modal-footer,.runestone-sphinx .modal-footer{border-top:1px solid #e5e5e5;padding:15px;text-align:right}.ptx-runestone-container .modal-footer .btn+.btn,.runestone-sphinx .modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.ptx-runestone-container .modal-footer .btn-group .btn+.btn,.runestone-sphinx .modal-footer .btn-group .btn+.btn{margin-left:-1px}.ptx-runestone-container .modal-footer .btn-block+.btn-block,.runestone-sphinx .modal-footer .btn-block+.btn-block{margin-left:0}.ptx-runestone-container .modal-scrollbar-measure,.runestone-sphinx .modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:768px){.ptx-runestone-container .modal-dialog,.runestone-sphinx .modal-dialog{margin:30px auto;width:600px}.ptx-runestone-container .modal-content,.runestone-sphinx .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.ptx-runestone-container .modal-sm,.runestone-sphinx .modal-sm{width:300px}}@media (min-width:992px){.ptx-runestone-container .modal-lg,.runestone-sphinx .modal-lg{width:900px}}.ptx-runestone-container .tooltip,.runestone-sphinx .tooltip{word-wrap:normal;display:block;filter:alpha(opacity=0);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857143;opacity:0;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:1070}.ptx-runestone-container .tooltip.in,.runestone-sphinx .tooltip.in{filter:alpha(opacity=90);opacity:.9}.ptx-runestone-container .tooltip.top,.runestone-sphinx .tooltip.top{margin-top:-3px;padding:5px 0}.ptx-runestone-container .tooltip.right,.runestone-sphinx .tooltip.right{margin-left:3px;padding:0 5px}.ptx-runestone-container .tooltip.bottom,.runestone-sphinx .tooltip.bottom{margin-top:3px;padding:5px 0}.ptx-runestone-container .tooltip.left,.runestone-sphinx .tooltip.left{margin-left:-3px;padding:0 5px}.ptx-runestone-container .tooltip.top .tooltip-arrow,.runestone-sphinx .tooltip.top .tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.ptx-runestone-container .tooltip.top-left .tooltip-arrow,.runestone-sphinx .tooltip.top-left .tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;margin-bottom:-5px;right:5px}.ptx-runestone-container .tooltip.top-right .tooltip-arrow,.runestone-sphinx .tooltip.top-right .tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:5px;margin-bottom:-5px}.ptx-runestone-container .tooltip.right .tooltip-arrow,.runestone-sphinx .tooltip.right .tooltip-arrow{border-right-color:#000;border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.ptx-runestone-container .tooltip.left .tooltip-arrow,.runestone-sphinx .tooltip.left .tooltip-arrow{border-left-color:#000;border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.ptx-runestone-container .tooltip.bottom .tooltip-arrow,.runestone-sphinx .tooltip.bottom .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.ptx-runestone-container .tooltip.bottom-left .tooltip-arrow,.runestone-sphinx .tooltip.bottom-left .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;margin-top:-5px;right:5px;top:0}.ptx-runestone-container .tooltip.bottom-right .tooltip-arrow,.runestone-sphinx .tooltip.bottom-right .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:5px;margin-top:-5px;top:0}.ptx-runestone-container .tooltip-inner,.runestone-sphinx .tooltip-inner{background-color:#000;border-radius:4px;color:#fff;max-width:200px;padding:3px 8px;text-align:center}.ptx-runestone-container .tooltip-arrow,.runestone-sphinx .tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.ptx-runestone-container .popover,.runestone-sphinx .popover{word-wrap:normal;background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);display:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;left:0;letter-spacing:normal;line-break:auto;line-height:1.42857143;max-width:276px;padding:1px;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;top:0;white-space:normal;word-break:normal;word-spacing:normal;z-index:1060}.ptx-runestone-container .popover.top,.runestone-sphinx .popover.top{margin-top:-10px}.ptx-runestone-container .popover.right,.runestone-sphinx .popover.right{margin-left:10px}.ptx-runestone-container .popover.bottom,.runestone-sphinx .popover.bottom{margin-top:10px}.ptx-runestone-container .popover.left,.runestone-sphinx .popover.left{margin-left:-10px}.ptx-runestone-container .popover>.arrow,.runestone-sphinx .popover>.arrow{border-width:11px}.ptx-runestone-container .popover>.arrow,.ptx-runestone-container .popover>.arrow:after,.runestone-sphinx .popover>.arrow,.runestone-sphinx .popover>.arrow:after{border-color:transparent;border-style:solid;display:block;height:0;position:absolute;width:0}.ptx-runestone-container .popover>.arrow:after,.runestone-sphinx .popover>.arrow:after{border-width:10px;content:""}.ptx-runestone-container .popover.top>.arrow,.runestone-sphinx .popover.top>.arrow{border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px;left:50%;margin-left:-11px}.ptx-runestone-container .popover.top>.arrow:after,.runestone-sphinx .popover.top>.arrow:after{border-bottom-width:0;border-top-color:#fff;bottom:1px;content:" ";margin-left:-10px}.ptx-runestone-container .popover.right>.arrow,.runestone-sphinx .popover.right>.arrow{border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25);left:-11px;margin-top:-11px;top:50%}.ptx-runestone-container .popover.right>.arrow:after,.runestone-sphinx .popover.right>.arrow:after{border-left-width:0;border-right-color:#fff;bottom:-10px;content:" ";left:1px}.ptx-runestone-container .popover.bottom>.arrow,.runestone-sphinx .popover.bottom>.arrow{border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0;left:50%;margin-left:-11px;top:-11px}.ptx-runestone-container .popover.bottom>.arrow:after,.runestone-sphinx .popover.bottom>.arrow:after{border-bottom-color:#fff;border-top-width:0;content:" ";margin-left:-10px;top:1px}.ptx-runestone-container .popover.left>.arrow,.runestone-sphinx .popover.left>.arrow{border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0;margin-top:-11px;right:-11px;top:50%}.ptx-runestone-container .popover.left>.arrow:after,.runestone-sphinx .popover.left>.arrow:after{border-left-color:#fff;border-right-width:0;bottom:-10px;content:" ";right:1px}.ptx-runestone-container .popover-title,.runestone-sphinx .popover-title{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0;font-size:14px;margin:0;padding:8px 14px}.ptx-runestone-container .popover-content,.runestone-sphinx .popover-content{padding:9px 14px}.ptx-runestone-container .carousel,.runestone-sphinx .carousel{position:relative}.ptx-runestone-container .carousel-inner,.runestone-sphinx .carousel-inner{overflow:hidden;position:relative;width:100%}.ptx-runestone-container .carousel-inner>.item,.runestone-sphinx .carousel-inner>.item{display:none;position:relative;-webkit-transition:left .6s ease-in-out;-o-transition:left .6s ease-in-out;transition:left .6s ease-in-out}.ptx-runestone-container .carousel-inner>.item>a>img,.ptx-runestone-container .carousel-inner>.item>img,.runestone-sphinx .carousel-inner>.item>a>img,.runestone-sphinx .carousel-inner>.item>img{line-height:1}@media (-webkit-transform-3d),(transform-3d){.ptx-runestone-container .carousel-inner>.item,.runestone-sphinx .carousel-inner>.item{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px;-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out}.ptx-runestone-container .carousel-inner>.item.active.right,.ptx-runestone-container .carousel-inner>.item.next,.runestone-sphinx .carousel-inner>.item.active.right,.runestone-sphinx .carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ptx-runestone-container .carousel-inner>.item.active.left,.ptx-runestone-container .carousel-inner>.item.prev,.runestone-sphinx .carousel-inner>.item.active.left,.runestone-sphinx .carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ptx-runestone-container .carousel-inner>.item.active,.ptx-runestone-container .carousel-inner>.item.next.left,.ptx-runestone-container .carousel-inner>.item.prev.right,.runestone-sphinx .carousel-inner>.item.active,.runestone-sphinx .carousel-inner>.item.next.left,.runestone-sphinx .carousel-inner>.item.prev.right{left:0;-webkit-transform:translateZ(0);transform:translateZ(0)}}.ptx-runestone-container .carousel-inner>.active,.ptx-runestone-container .carousel-inner>.next,.ptx-runestone-container .carousel-inner>.prev,.runestone-sphinx .carousel-inner>.active,.runestone-sphinx .carousel-inner>.next,.runestone-sphinx .carousel-inner>.prev{display:block}.ptx-runestone-container .carousel-inner>.active,.runestone-sphinx .carousel-inner>.active{left:0}.ptx-runestone-container .carousel-inner>.next,.ptx-runestone-container .carousel-inner>.prev,.runestone-sphinx .carousel-inner>.next,.runestone-sphinx .carousel-inner>.prev{position:absolute;top:0;width:100%}.ptx-runestone-container .carousel-inner>.next,.runestone-sphinx .carousel-inner>.next{left:100%}.ptx-runestone-container .carousel-inner>.prev,.runestone-sphinx .carousel-inner>.prev{left:-100%}.ptx-runestone-container .carousel-inner>.next.left,.ptx-runestone-container .carousel-inner>.prev.right,.runestone-sphinx .carousel-inner>.next.left,.runestone-sphinx .carousel-inner>.prev.right{left:0}.ptx-runestone-container .carousel-inner>.active.left,.runestone-sphinx .carousel-inner>.active.left{left:-100%}.ptx-runestone-container .carousel-inner>.active.right,.runestone-sphinx .carousel-inner>.active.right{left:100%}.ptx-runestone-container .carousel-control,.runestone-sphinx .carousel-control{background-color:transparent;bottom:0;color:#fff;filter:alpha(opacity=50);font-size:20px;left:0;opacity:.5;position:absolute;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);top:0;width:15%}.ptx-runestone-container .carousel-control.left,.runestone-sphinx .carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),transparent);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,transparent 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(transparent));background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,transparent);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#80000000",endColorstr="#00000000",GradientType=1)}.ptx-runestone-container .carousel-control.right,.runestone-sphinx .carousel-control.right{background-image:-webkit-linear-gradient(left,transparent,rgba(0,0,0,.5));background-image:-o-linear-gradient(left,transparent 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(transparent),to(rgba(0,0,0,.5)));background-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.5));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000",endColorstr="#80000000",GradientType=1);left:auto;right:0}.ptx-runestone-container .carousel-control:focus,.ptx-runestone-container .carousel-control:hover,.runestone-sphinx .carousel-control:focus,.runestone-sphinx .carousel-control:hover{color:#fff;filter:alpha(opacity=90);opacity:.9;outline:0;text-decoration:none}.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next,.runestone-sphinx .carousel-control .icon-prev{display:inline-block;margin-top:-10px;position:absolute;top:50%;z-index:5}.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .icon-prev{left:50%;margin-left:-10px}.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next{margin-right:-10px;right:50%}.ptx-runestone-container .carousel-control .icon-next,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .icon-next,.runestone-sphinx .carousel-control .icon-prev{font-family:serif;height:20px;line-height:1;width:20px}.ptx-runestone-container .carousel-control .icon-prev:before,.runestone-sphinx .carousel-control .icon-prev:before{content:"\2039"}.ptx-runestone-container .carousel-control .icon-next:before,.runestone-sphinx .carousel-control .icon-next:before{content:"\203a"}.ptx-runestone-container .carousel-indicators,.runestone-sphinx .carousel-indicators{bottom:10px;left:50%;list-style:none;margin-left:-30%;padding-left:0;position:absolute;text-align:center;width:60%;z-index:15}.ptx-runestone-container .carousel-indicators li,.runestone-sphinx .carousel-indicators li{background-color:#000\9;background-color:transparent;border:1px solid #fff;border-radius:10px;cursor:pointer;display:inline-block;height:10px;margin:1px;text-indent:-999px;width:10px}.ptx-runestone-container .carousel-indicators .active,.runestone-sphinx .carousel-indicators .active{background-color:#fff;height:12px;margin:0;width:12px}.ptx-runestone-container .carousel-caption,.runestone-sphinx .carousel-caption{bottom:20px;color:#fff;left:15%;padding-bottom:20px;padding-top:20px;position:absolute;right:15%;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);z-index:10}.ptx-runestone-container .carousel-caption .btn,.runestone-sphinx .carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next,.runestone-sphinx .carousel-control .icon-prev{font-size:30px;height:30px;margin-top:-10px;width:30px}.ptx-runestone-container .carousel-control .glyphicon-chevron-left,.ptx-runestone-container .carousel-control .icon-prev,.runestone-sphinx .carousel-control .glyphicon-chevron-left,.runestone-sphinx .carousel-control .icon-prev{margin-left:-10px}.ptx-runestone-container .carousel-control .glyphicon-chevron-right,.ptx-runestone-container .carousel-control .icon-next,.runestone-sphinx .carousel-control .glyphicon-chevron-right,.runestone-sphinx .carousel-control .icon-next{margin-right:-10px}.ptx-runestone-container .carousel-caption,.runestone-sphinx .carousel-caption{left:20%;padding-bottom:30px;right:20%}.ptx-runestone-container .carousel-indicators,.runestone-sphinx .carousel-indicators{bottom:20px}}.ptx-runestone-container .btn-group-vertical>.btn-group:after,.ptx-runestone-container .btn-group-vertical>.btn-group:before,.ptx-runestone-container .btn-toolbar:after,.ptx-runestone-container .btn-toolbar:before,.ptx-runestone-container .clearfix:after,.ptx-runestone-container .clearfix:before,.ptx-runestone-container .container-fluid:after,.ptx-runestone-container .container-fluid:before,.ptx-runestone-container .container:after,.ptx-runestone-container .container:before,.ptx-runestone-container .dl-horizontal dd:after,.ptx-runestone-container .dl-horizontal dd:before,.ptx-runestone-container .form-horizontal .form-group:after,.ptx-runestone-container .form-horizontal .form-group:before,.ptx-runestone-container .modal-footer:after,.ptx-runestone-container .modal-footer:before,.ptx-runestone-container .modal-header:after,.ptx-runestone-container .modal-header:before,.ptx-runestone-container .nav:after,.ptx-runestone-container .nav:before,.ptx-runestone-container .navbar-collapse:after,.ptx-runestone-container .navbar-collapse:before,.ptx-runestone-container .navbar-header:after,.ptx-runestone-container .navbar-header:before,.ptx-runestone-container .navbar:after,.ptx-runestone-container .navbar:before,.ptx-runestone-container .pager:after,.ptx-runestone-container .pager:before,.ptx-runestone-container .panel-body:after,.ptx-runestone-container .panel-body:before,.ptx-runestone-container .row:after,.ptx-runestone-container .row:before,.runestone-sphinx .btn-group-vertical>.btn-group:after,.runestone-sphinx .btn-group-vertical>.btn-group:before,.runestone-sphinx .btn-toolbar:after,.runestone-sphinx .btn-toolbar:before,.runestone-sphinx .clearfix:after,.runestone-sphinx .clearfix:before,.runestone-sphinx .container-fluid:after,.runestone-sphinx .container-fluid:before,.runestone-sphinx .container:after,.runestone-sphinx .container:before,.runestone-sphinx .dl-horizontal dd:after,.runestone-sphinx .dl-horizontal dd:before,.runestone-sphinx .form-horizontal .form-group:after,.runestone-sphinx .form-horizontal .form-group:before,.runestone-sphinx .modal-footer:after,.runestone-sphinx .modal-footer:before,.runestone-sphinx .modal-header:after,.runestone-sphinx .modal-header:before,.runestone-sphinx .nav:after,.runestone-sphinx .nav:before,.runestone-sphinx .navbar-collapse:after,.runestone-sphinx .navbar-collapse:before,.runestone-sphinx .navbar-header:after,.runestone-sphinx .navbar-header:before,.runestone-sphinx .navbar:after,.runestone-sphinx .navbar:before,.runestone-sphinx .pager:after,.runestone-sphinx .pager:before,.runestone-sphinx .panel-body:after,.runestone-sphinx .panel-body:before,.runestone-sphinx .row:after,.runestone-sphinx .row:before{content:" ";display:table}.ptx-runestone-container .btn-group-vertical>.btn-group:after,.ptx-runestone-container .btn-toolbar:after,.ptx-runestone-container .clearfix:after,.ptx-runestone-container .container-fluid:after,.ptx-runestone-container .container:after,.ptx-runestone-container .dl-horizontal dd:after,.ptx-runestone-container .form-horizontal .form-group:after,.ptx-runestone-container .modal-footer:after,.ptx-runestone-container .modal-header:after,.ptx-runestone-container .nav:after,.ptx-runestone-container .navbar-collapse:after,.ptx-runestone-container .navbar-header:after,.ptx-runestone-container .navbar:after,.ptx-runestone-container .pager:after,.ptx-runestone-container .panel-body:after,.ptx-runestone-container .row:after,.runestone-sphinx .btn-group-vertical>.btn-group:after,.runestone-sphinx .btn-toolbar:after,.runestone-sphinx .clearfix:after,.runestone-sphinx .container-fluid:after,.runestone-sphinx .container:after,.runestone-sphinx .dl-horizontal dd:after,.runestone-sphinx .form-horizontal .form-group:after,.runestone-sphinx .modal-footer:after,.runestone-sphinx .modal-header:after,.runestone-sphinx .nav:after,.runestone-sphinx .navbar-collapse:after,.runestone-sphinx .navbar-header:after,.runestone-sphinx .navbar:after,.runestone-sphinx .pager:after,.runestone-sphinx .panel-body:after,.runestone-sphinx .row:after{clear:both}.ptx-runestone-container .center-block,.runestone-sphinx .center-block{display:block;margin-left:auto;margin-right:auto}.ptx-runestone-container .pull-right,.runestone-sphinx .pull-right{float:right!important}.ptx-runestone-container .pull-left,.runestone-sphinx .pull-left{float:left!important}.ptx-runestone-container .hide,.runestone-sphinx .hide{display:none!important}.ptx-runestone-container .show,.runestone-sphinx .show{display:block!important}.ptx-runestone-container .invisible,.runestone-sphinx .invisible{visibility:hidden}.ptx-runestone-container .text-hide,.runestone-sphinx .text-hide{background-color:transparent;border:0;color:transparent;font:0/0 a;text-shadow:none}.ptx-runestone-container .hidden,.runestone-sphinx .hidden{display:none!important}.ptx-runestone-container .affix,.runestone-sphinx .affix{position:fixed}@-ms-viewport{width:device-width}.ptx-runestone-container .visible-lg,.ptx-runestone-container .visible-lg-block,.ptx-runestone-container .visible-lg-inline,.ptx-runestone-container .visible-lg-inline-block,.ptx-runestone-container .visible-md,.ptx-runestone-container .visible-md-block,.ptx-runestone-container .visible-md-inline,.ptx-runestone-container .visible-md-inline-block,.ptx-runestone-container .visible-sm,.ptx-runestone-container .visible-sm-block,.ptx-runestone-container .visible-sm-inline,.ptx-runestone-container .visible-sm-inline-block,.ptx-runestone-container .visible-xs,.ptx-runestone-container .visible-xs-block,.ptx-runestone-container .visible-xs-inline,.ptx-runestone-container .visible-xs-inline-block,.runestone-sphinx .visible-lg,.runestone-sphinx .visible-lg-block,.runestone-sphinx .visible-lg-inline,.runestone-sphinx .visible-lg-inline-block,.runestone-sphinx .visible-md,.runestone-sphinx .visible-md-block,.runestone-sphinx .visible-md-inline,.runestone-sphinx .visible-md-inline-block,.runestone-sphinx .visible-sm,.runestone-sphinx .visible-sm-block,.runestone-sphinx .visible-sm-inline,.runestone-sphinx .visible-sm-inline-block,.runestone-sphinx .visible-xs,.runestone-sphinx .visible-xs-block,.runestone-sphinx .visible-xs-inline,.runestone-sphinx .visible-xs-inline-block{display:none!important}@media (max-width:767px){.ptx-runestone-container .visible-xs,.runestone-sphinx .visible-xs{display:block!important}.ptx-runestone-container table.visible-xs,.runestone-sphinx table.visible-xs{display:table!important}.ptx-runestone-container tr.visible-xs,.runestone-sphinx tr.visible-xs{display:table-row!important}.ptx-runestone-container td.visible-xs,.ptx-runestone-container th.visible-xs,.runestone-sphinx td.visible-xs,.runestone-sphinx th.visible-xs{display:table-cell!important}.ptx-runestone-container .visible-xs-block,.runestone-sphinx .visible-xs-block{display:block!important}.ptx-runestone-container .visible-xs-inline,.runestone-sphinx .visible-xs-inline{display:inline!important}.ptx-runestone-container .visible-xs-inline-block,.runestone-sphinx .visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.ptx-runestone-container .visible-sm,.runestone-sphinx .visible-sm{display:block!important}.ptx-runestone-container table.visible-sm,.runestone-sphinx table.visible-sm{display:table!important}.ptx-runestone-container tr.visible-sm,.runestone-sphinx tr.visible-sm{display:table-row!important}.ptx-runestone-container td.visible-sm,.ptx-runestone-container th.visible-sm,.runestone-sphinx td.visible-sm,.runestone-sphinx th.visible-sm{display:table-cell!important}.ptx-runestone-container .visible-sm-block,.runestone-sphinx .visible-sm-block{display:block!important}.ptx-runestone-container .visible-sm-inline,.runestone-sphinx .visible-sm-inline{display:inline!important}.ptx-runestone-container .visible-sm-inline-block,.runestone-sphinx .visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.ptx-runestone-container .visible-md,.runestone-sphinx .visible-md{display:block!important}.ptx-runestone-container table.visible-md,.runestone-sphinx table.visible-md{display:table!important}.ptx-runestone-container tr.visible-md,.runestone-sphinx tr.visible-md{display:table-row!important}.ptx-runestone-container td.visible-md,.ptx-runestone-container th.visible-md,.runestone-sphinx td.visible-md,.runestone-sphinx th.visible-md{display:table-cell!important}.ptx-runestone-container .visible-md-block,.runestone-sphinx .visible-md-block{display:block!important}.ptx-runestone-container .visible-md-inline,.runestone-sphinx .visible-md-inline{display:inline!important}.ptx-runestone-container .visible-md-inline-block,.runestone-sphinx .visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.ptx-runestone-container .visible-lg,.runestone-sphinx .visible-lg{display:block!important}.ptx-runestone-container table.visible-lg,.runestone-sphinx table.visible-lg{display:table!important}.ptx-runestone-container tr.visible-lg,.runestone-sphinx tr.visible-lg{display:table-row!important}.ptx-runestone-container td.visible-lg,.ptx-runestone-container th.visible-lg,.runestone-sphinx td.visible-lg,.runestone-sphinx th.visible-lg{display:table-cell!important}.ptx-runestone-container .visible-lg-block,.runestone-sphinx .visible-lg-block{display:block!important}.ptx-runestone-container .visible-lg-inline,.runestone-sphinx .visible-lg-inline{display:inline!important}.ptx-runestone-container .visible-lg-inline-block,.runestone-sphinx .visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.ptx-runestone-container .hidden-xs,.runestone-sphinx .hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.ptx-runestone-container .hidden-sm,.runestone-sphinx .hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.ptx-runestone-container .hidden-md,.runestone-sphinx .hidden-md{display:none!important}}@media (min-width:1200px){.ptx-runestone-container .hidden-lg,.runestone-sphinx .hidden-lg{display:none!important}}.ptx-runestone-container .visible-print,.runestone-sphinx .visible-print{display:none!important}@media print{.ptx-runestone-container .visible-print,.runestone-sphinx .visible-print{display:block!important}.ptx-runestone-container table.visible-print,.runestone-sphinx table.visible-print{display:table!important}.ptx-runestone-container tr.visible-print,.runestone-sphinx tr.visible-print{display:table-row!important}.ptx-runestone-container td.visible-print,.ptx-runestone-container th.visible-print,.runestone-sphinx td.visible-print,.runestone-sphinx th.visible-print{display:table-cell!important}}.ptx-runestone-container .visible-print-block,.runestone-sphinx .visible-print-block{display:none!important}@media print{.ptx-runestone-container .visible-print-block,.runestone-sphinx .visible-print-block{display:block!important}}.ptx-runestone-container .visible-print-inline,.runestone-sphinx .visible-print-inline{display:none!important}@media print{.ptx-runestone-container .visible-print-inline,.runestone-sphinx .visible-print-inline{display:inline!important}}.ptx-runestone-container .visible-print-inline-block,.runestone-sphinx .visible-print-inline-block{display:none!important}@media print{.ptx-runestone-container .visible-print-inline-block,.runestone-sphinx .visible-print-inline-block{display:inline-block!important}.ptx-runestone-container .hidden-print,.runestone-sphinx .hidden-print{display:none!important}}.ptx-runestone-container :root,.runestone-sphinx :root{--background:#fff;--outerBackground:#eee;--links:#0645ad;--bodyFont:#000;--tooltip:#fff;--grayToWhite:#333;--navbar:#f8f8f8;--navbarFont:#707070;--navbarFontHover:#000;--alerts:#d9edf7;--completionButton:#f19711;--completionButtonHover:#ff9f19;--admonition:#fcf8e3;--admonitionBorder:#fbeed5;--codeButtons:#474949;--codeButtonsBorder:#474949;--dangerAlerts:#f2dede;--successAlerts:#dff0d8;--contentWidthRegular:660px;--contentWidthWide:1060px;--componentBgColor:#f0f8ff;--componentBorderColor:#000;--questionBgColor:#e1efff}.ptx-runestone-container [data-theme=dark],.runestone-sphinx [data-theme=dark]{--background:#2c2f33;--outerBackground:#23272a;--links:#7289da;--bodyFont:#99aab5;--tooltip:#000;--grayToWhite:#fff;--navbar:#3d3d3d;--navbarFont:#fff;--navbarFontHover:#d6d6d6;--alerts:#714082;--completionButton:#650087;--completionButtonHover:#560073;--admonition:#3d3d3d;--admonitionBorder:#262626;--codeButtons:#7289da;--codeButtonsBorder:#fff;--dangerAlerts:#8c2626;--successAlerts:#217300;--componentBgColor:#07467d;--componentBorderColor:#939090;--questionBgColor:#17555d}.ptx-runestone-container div.assignment-nav,.runestone-sphinx div.assignment-nav{background-color:var(--componentBgColor);border-color:var(--componentBorderColor);border-style:solid;border-width:1px;padding-bottom:5px;padding-top:5px}.ptx-runestone-container td.linenos pre,.runestone-sphinx td.linenos pre{color:#6b6b6b}.ptx-runestone-container .str,.runestone-sphinx .str{color:#006b00}.ptx-runestone-container .parsons .block,.runestone-sphinx .parsons .block{background-color:#fafafa}.ptx-runestone-container .highlight .c1,.runestone-sphinx .highlight .c1{color:#376a7b}.ptx-runestone-container .highlight .nn,.runestone-sphinx .highlight .nn{color:#0f6c95}.ptx-runestone-container .highlight .gp,.runestone-sphinx .highlight .gp{color:#a14c08}.ptx-runestone-container .highlight .si,.runestone-sphinx .highlight .si{color:#3c773d}.ptx-runestone-container .highlight .nc,.runestone-sphinx .highlight .nc{color:#0b719d}.ptx-runestone-container ul.search li div.context,.runestone-sphinx ul.search li div.context{color:#6b6b6b}.ptx-runestone-container span.highlighted,.runestone-sphinx span.highlighted{color:#4d4d4d}.ptx-runestone-container .CodeMirror-linenumber,.runestone-sphinx .CodeMirror-linenumber{color:#6b6b6b}.ptx-runestone-container .alert-warning,.runestone-sphinx .alert-warning{background-color:var(--admonition);border-color:var(--admonitionBorder)}.ptx-runestone-container div.ExecutionVisualizer table#pyCodeOutput .lineNo,.runestone-sphinx div.ExecutionVisualizer table#pyCodeOutput .lineNo{color:#6b6b6b}.ptx-runestone-container body,.runestone-sphinx body{background-color:var(--outerBackground);counter-reset:rscomponent;padding-top:60px}.ptx-runestone-container h5,.runestone-sphinx h5{font-weight:700;padding:10px 0}.ptx-runestone-container #table-of-contents a,.runestone-sphinx #table-of-contents a{color:var(--links)}.ptx-runestone-container #table-of-contents a:hover,.runestone-sphinx #table-of-contents a:hover{color:var(--links);text-decoration:underline}.ptx-runestone-container #table-of-contents.section,.runestone-sphinx #table-of-contents.section{font-size:16px}.ptx-runestone-container .navbar-default,.runestone-sphinx .navbar-default{background-color:var(--navbar)}.ptx-runestone-container .navbar-default .navbar-nav>li,.ptx-runestone-container .navbar-default .navbar-nav>li>a,.runestone-sphinx .navbar-default .navbar-nav>li,.runestone-sphinx .navbar-default .navbar-nav>li>a{color:var(--navbarFont)}.ptx-runestone-container .navbar-default .navbar-nav>li>a:hover,.runestone-sphinx .navbar-default .navbar-nav>li>a:hover{color:var(--navbarFontHover)}.ptx-runestone-container .navbar-default .navbar-brand,.runestone-sphinx .navbar-default .navbar-brand{color:var(--navbarFont)}.ptx-runestone-container .toctree-wrapper,.runestone-sphinx .toctree-wrapper{font-size:16px}.ptx-runestone-container .toctree-wrapper a,.runestone-sphinx .toctree-wrapper a{color:var(--links)}.ptx-runestone-container .toctree-wrapper a:hover,.runestone-sphinx .toctree-wrapper a:hover{color:var(--links);text-decoration:underline}.ptx-runestone-container #index-and-search.section,.runestone-sphinx #index-and-search.section{font-size:16px}.ptx-runestone-container #index-and-search.section a,.runestone-sphinx #index-and-search.section a{color:var(--links)}.ptx-runestone-container #index-and-search.section a:hover,.runestone-sphinx #index-and-search.section a:hover{color:var(--links);text-decoration:underline}.ptx-runestone-container a,.runestone-sphinx a{color:var(--links)}@media (max-width:768px){.ptx-runestone-container body,.runestone-sphinx body{padding-top:0}.ptx-runestone-container .navbar-fixed-top,.runestone-sphinx .navbar-fixed-top{position:static}}@media (min-width:768px){.ptx-runestone-container .navbar .divider-vertical,.runestone-sphinx .navbar .divider-vertical{border-left:1px solid #f2f2f2;margin:0 3px}.ptx-runestone-container .navbar-fixed-top .container,.runestone-sphinx .navbar-fixed-top .container{padding:0}}.ptx-runestone-container div.container,.runestone-sphinx div.container{background-color:var(--background)}.ptx-runestone-container .container,.runestone-sphinx .container{padding-left:10px;padding-right:10px}.ptx-runestone-container .runestone,.runestone-sphinx .runestone{background-color:var(--componentBgColor);border-color:var(--componentBorderColor);border-radius:10px;border-style:solid;clear:both;margin-bottom:20px;margin-top:20px;padding:15px}.ptx-runestone-container #main-content section>:not(section),.runestone-sphinx #main-content section>:not(section){margin-left:auto;margin-right:auto;max-width:var(--contentWidthRegular)}.ptx-runestone-container #main-content section>.codelens,.ptx-runestone-container #main-content section>.jupyterlite_sphinx_iframe_container,.ptx-runestone-container #main-content section>.question,.ptx-runestone-container #main-content section>.runestone.ac_section,.ptx-runestone-container #main-content section>.runestone.codelens,.ptx-runestone-container #main-content section>.runestone.parsons-container,.ptx-runestone-container #main-content section>.runestone.parsons-problems,.ptx-runestone-container #main-content section>.timedAssessment,.ptx-runestone-container #main-content section>section,.runestone-sphinx #main-content section>.codelens,.runestone-sphinx #main-content section>.jupyterlite_sphinx_iframe_container,.runestone-sphinx #main-content section>.question,.runestone-sphinx #main-content section>.runestone.ac_section,.runestone-sphinx #main-content section>.runestone.codelens,.runestone-sphinx #main-content section>.runestone.parsons-container,.runestone-sphinx #main-content section>.runestone.parsons-problems,.runestone-sphinx #main-content section>.timedAssessment,.runestone-sphinx #main-content section>section{margin-left:auto;margin-right:auto;max-width:var(--contentWidthWide)}.ptx-runestone-container #main-content section>.full-width,.runestone-sphinx #main-content section>.full-width{max-width:var(--contentWidthWide)}.ptx-runestone-container .container section>img,.runestone-sphinx .container section>img{display:block;margin-left:auto;margin-right:auto}.ptx-runestone-container .container-fluid>.navbar-collapse,.ptx-runestone-container .container-fluid>.navbar-header,.ptx-runestone-container .container>.navbar-collapse,.ptx-runestone-container .container>.navbar-header,.runestone-sphinx .container-fluid>.navbar-collapse,.runestone-sphinx .container-fluid>.navbar-header,.runestone-sphinx .container>.navbar-collapse,.runestone-sphinx .container>.navbar-header{margin-left:0;margin-right:0}.ptx-runestone-container .navbar>.container .navbar-brand,.runestone-sphinx .navbar>.container .navbar-brand{margin-left:0}.ptx-runestone-container .navbar>.container,.runestone-sphinx .navbar>.container{background-color:var(--navbar)}.ptx-runestone-container .navbar-toggle,.runestone-sphinx .navbar-toggle{margin-right:0}.ptx-runestone-container .footer>.container,.runestone-sphinx .footer>.container{background-color:var(--outerBackground)}.ptx-runestone-container .footer>.container p>a,.runestone-sphinx .footer>.container p>a{color:var(--links)}.ptx-runestone-container .brand-logo,.runestone-sphinx .brand-logo{display:block;float:left;margin-top:4px}.ptx-runestone-container .brand-logo img,.runestone-sphinx .brand-logo img{height:40px}.ptx-runestone-container .social-menu,.runestone-sphinx .social-menu{padding:10px 10px 15px 20px;width:220px}.ptx-runestone-container .fb-like,.runestone-sphinx .fb-like{margin-top:7px}.ptx-runestone-container .fb_iframe_widget iframe,.ptx-runestone-container .fb_iframe_widget span,.runestone-sphinx .fb_iframe_widget iframe,.runestone-sphinx .fb_iframe_widget span{height:20px!important;width:82px!important}.ptx-runestone-container .twitter-follow-button,.runestone-sphinx .twitter-follow-button{margin-top:10px}.ptx-runestone-container .gittip,.runestone-sphinx .gittip{margin-top:8px}.ptx-runestone-container .gittip-button,.runestone-sphinx .gittip-button{margin-bottom:-6px}.ptx-runestone-container .dropdown-menu>li>div,.ptx-runestone-container .dropdown-menu>li>label,.ptx-runestone-container .dropdown-menu>li>span,.runestone-sphinx .dropdown-menu>li>div,.runestone-sphinx .dropdown-menu>li>label,.runestone-sphinx .dropdown-menu>li>span{clear:both;color:var(--grayToWhite);display:block;font-weight:700;line-height:20px;padding:3px 20px;white-space:nowrap}.ptx-runestone-container .dropdown-menu>li>label:focus,.ptx-runestone-container .dropdown-menu>li>label:hover,.runestone-sphinx .dropdown-menu>li>label:focus,.runestone-sphinx .dropdown-menu>li>label:hover{background-color:#f5f5f5;color:#262626;text-decoration:none}.ptx-runestone-container .dropdown-menu>li>a,.runestone-sphinx .dropdown-menu>li>a{color:var(--grayToWhite)}.ptx-runestone-container .loggedinuser,.runestone-sphinx .loggedinuser{font-weight:700}.ptx-runestone-container .CodeMirror,.runestone-sphinx .CodeMirror{background-color:var(--background);clear:both;margin:0 0 1em}.ptx-runestone-container .ac_section .CodeMirror pre,.runestone-sphinx .ac_section .CodeMirror pre{word-wrap:normal;background:transparent;-moz-border-radius:0;-webkit-border-radius:0;-o-border-radius:0;border-radius:0;border-width:0;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:inherit;margin:0;padding:0;white-space:pre}.ptx-runestone-container btn.btn-sm,.ptx-runestone-container button.btn,.ptx-runestone-container input[type=button].btn.btn-sm,.ptx-runestone-container input[type=submit].btn.btn-sm,.runestone-sphinx btn.btn-sm,.runestone-sphinx button.btn,.runestone-sphinx input[type=button].btn.btn-sm,.runestone-sphinx input[type=submit].btn.btn-sm{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1em}.ptx-runestone-container .dropdown-menu .input-group .input-group-btn button.btn,.runestone-sphinx .dropdown-menu .input-group .input-group-btn button.btn{font-size:14px}.ptx-runestone-container .btn,.runestone-sphinx .btn{margin:5px}.ptx-runestone-container .btn.disabled,.runestone-sphinx .btn.disabled{pointer-events:auto}.ptx-runestone-container .btn-default,.ptx-runestone-container .btn-default.disabled,.ptx-runestone-container .btn-default.disabled:hover,.ptx-runestone-container .btn-default[disabled],.ptx-runestone-container .btn-default[disabled]:hover,.runestone-sphinx .btn-default,.runestone-sphinx .btn-default.disabled,.runestone-sphinx .btn-default.disabled:hover,.runestone-sphinx .btn-default[disabled],.runestone-sphinx .btn-default[disabled]:hover{background-color:var(--codeButtons);border-color:var(codeButtonsBorder);color:#fff}.ptx-runestone-container .btn-default.active,.ptx-runestone-container .btn-default:active,.ptx-runestone-container .btn-default:focus,.ptx-runestone-container .btn-default:hover,.runestone-sphinx .btn-default.active,.runestone-sphinx .btn-default:active,.runestone-sphinx .btn-default:focus,.runestone-sphinx .btn-default:hover{background-color:#3a3c3c;border-color:#2e2f2f;color:#fff}.ptx-runestone-container input[type=checkbox],.ptx-runestone-container input[type=radio],.runestone-sphinx input[type=checkbox],.runestone-sphinx input[type=radio]{margin-right:5px}.ptx-runestone-container .tooltip,.runestone-sphinx .tooltip{z-index:2000!important}.ptx-runestone-container .tooltip.in,.runestone-sphinx .tooltip.in{filter:alpha(opacity=80);opacity:.8}.ptx-runestone-container h2,.runestone-sphinx h2{margin-top:20px}.ptx-runestone-container .alert form,.runestone-sphinx .alert form{margin-bottom:0}.ptx-runestone-container .alert,.runestone-sphinx .alert{color:var(--grayToWhite);padding:10px}.ptx-runestone-container .alert-info,.runestone-sphinx .alert-info{background-color:var(--alerts)}.ptx-runestone-container .alert-danger,.runestone-sphinx .alert-danger{background-color:var(--dangerAlerts)}.ptx-runestone-container .alert-success,.runestone-sphinx .alert-success{background-color:var(--successAlerts)}.ptx-runestone-container .unittest-results.alert-danger,.runestone-sphinx .unittest-results.alert-danger{background-color:var(--dangerAlerts)!important}.ptx-runestone-container .unittest-results.alert-success,.runestone-sphinx .unittest-results.alert-success{background-color:var(--successAlerts)!important}.ptx-runestone-container .alert label,.runestone-sphinx .alert label{font-weight:400}.ptx-runestone-container .navbar_message,.runestone-sphinx .navbar_message{font-weight:700;margin-top:15px}.ptx-runestone-container dt.label>span.brackets:not(span.brackets>a),.ptx-runestone-container dt.label>span.fn-backref:not(span.fn-backref>a),.runestone-sphinx dt.label>span.brackets:not(span.brackets>a),.runestone-sphinx dt.label>span.fn-backref:not(span.fn-backref>a){color:#000}.ptx-runestone-container .admonition,.runestone-sphinx .admonition{background-color:var(--admonition);border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;margin-bottom:20px!important;margin-top:20px!important;padding:8px 35px 8px 14px!important;text-shadow:0 1px 0 hsla(0,0%,100%,.5)}.ptx-runestone-container .admonition.caution,.runestone-sphinx .admonition.caution{background-color:#f2dede;border-color:#eed3d7;color:#a33f3e}.ptx-runestone-container .admonition.note,.ptx-runestone-container .admonition.tip,.runestone-sphinx .admonition.note,.runestone-sphinx .admonition.tip{background-color:#d9edf7;border-color:#bce8f1;color:#333}.ptx-runestone-container div.flash,.runestone-sphinx div.flash{-webkit-font-smoothing:antialiased;background-color:#000;background-image:-webkit-linear-gradient(top,#222,#000);background-image:-o-linear-gradient(top,#222,#000);background-image:-moz-linear-gradient(90deg,#222,#000);background-image:linear-gradient(top,#222,#000);background-repeat:repeat-x;border:2px solid #fff;border-radius:8px;-moz-border-radius:8px;-webkit-border-radius:8px;color:#fff;cursor:pointer;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;margin:0 0 10px 10px;opacity:.95;padding:10px;position:fixed;right:45px;top:55px;vertical-align:middle;z-index:2000}.ptx-runestone-container #web2py_user_form,.runestone-sphinx #web2py_user_form{margin-top:10px}.ptx-runestone-container #web2py_user_form form,.runestone-sphinx #web2py_user_form form{float:left;margin-right:150px;padding-top:3px}.ptx-runestone-container #web2py_user_form td,.runestone-sphinx #web2py_user_form td{padding-bottom:15px}.ptx-runestone-container #web2py_user_form td.w2p_fw,.runestone-sphinx #web2py_user_form td.w2p_fw{width:299px}.ptx-runestone-container #auth-actions,.runestone-sphinx #auth-actions{margin-top:50px}.ptx-runestone-container #sign_in_text td,.runestone-sphinx #sign_in_text td{color:#333;font-family:lucida grande,Verdana,sans-serif;font-size:17px;padding-bottom:13px}.ptx-runestone-container #auth_user_remember,.runestone-sphinx #auth_user_remember{margin-top:-20px}.ptx-runestone-container #exercises>ol>li,.ptx-runestone-container #programming-exercises>ol>li,.runestone-sphinx #exercises>ol>li,.runestone-sphinx #programming-exercises>ol>li{margin-bottom:30px}.ptx-runestone-container #exercises>ol>li:nth-child(2n),.ptx-runestone-container #programming-exercises>ol>li:nth-child(2n),.runestone-sphinx #exercises>ol>li:nth-child(2n),.runestone-sphinx #programming-exercises>ol>li:nth-child(2n){background:#faf7df;border:1px solid #fbeed5;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;padding:1.2em 1.4em}.ptx-runestone-container .scratch-ac-modal,.runestone-sphinx .scratch-ac-modal{max-height:90%;overflow-y:scroll;width:90%}.ptx-runestone-container .compare-modal .progress,.runestone-sphinx .compare-modal .progress{margin-bottom:0}.ptx-runestone-container .compare-me-progress,.runestone-sphinx .compare-me-progress{width:100%}.ptx-runestone-container .compare-me-progress .progress-bar,.ptx-runestone-container .unittest-results-progress .progress-bar,.runestone-sphinx .compare-me-progress .progress-bar,.runestone-sphinx .unittest-results-progress .progress-bar{color:#333}.ptx-runestone-container .unittest-results-progress,.runestone-sphinx .unittest-results-progress{width:25%}.ptx-runestone-container .compare-modal,.runestone-sphinx .compare-modal{width:350px}.ptx-runestone-container .compare-modal table,.runestone-sphinx .compare-modal table{border-collapse:separate;border-spacing:10px 5px}.ptx-runestone-container .codelens-modal,.runestone-sphinx .codelens-modal{bottom:auto;left:auto;right:20%;top:20%}@media (max-width:768px){.ptx-runestone-container .codelens-modal,.runestone-sphinx .codelens-modal{bottom:0!important;left:0!important;right:0!important;top:0!important}}.ptx-runestone-container .codelens-modal>.modal-dialog,.runestone-sphinx .codelens-modal>.modal-dialog{width:400px}.ptx-runestone-container .footnote.table,.runestone-sphinx .footnote.table{margin-bottom:10px;width:auto}.ptx-runestone-container .footnote.table td.label,.runestone-sphinx .footnote.table td.label{background-color:#d9edf7;padding:2px 5px}.ptx-runestone-container .ac-canvas,.runestone-sphinx .ac-canvas{background-color:#fff;display:inline-block}.ptx-runestone-container .video-play-overlay,.runestone-sphinx .video-play-overlay{background-position:50%;background-repeat:no-repeat;height:85px;left:44%;position:relative;top:-150px;width:130px}.ptx-runestone-container .video_popup video,.runestone-sphinx .video_popup video{cursor:pointer;width:var(--contentWidthRegular)}.ptx-runestone-container .ui-sortable-helper,.runestone-sphinx .ui-sortable-helper{height:auto!important;width:auto!important}.ptx-runestone-container .navLink,.runestone-sphinx .navLink{bottom:65px;display:inline;opacity:.4;position:fixed;z-index:2}.ptx-runestone-container .navLink:hover,.runestone-sphinx .navLink:hover{opacity:1}.ptx-runestone-container .navLink a,.runestone-sphinx .navLink a{background-color:#fff;border:2px solid #d3d3d3;display:inline-block;height:50px;width:100px}.ptx-runestone-container #relations-next,.runestone-sphinx #relations-next{right:35px}.ptx-runestone-container #relations-prev,.runestone-sphinx #relations-prev{left:35px}.ptx-runestone-container .nextprev-list,.runestone-sphinx .nextprev-list{height:50px;margin:10px;padding-left:0}@media (max-width:600px){.ptx-runestone-container .navLink,.runestone-sphinx .navLink{bottom:auto;display:inline-block;position:absolute}.ptx-runestone-container #relations-next,.ptx-runestone-container #relations-prev,.runestone-sphinx #relations-next,.runestone-sphinx #relations-prev{display:inline;padding:0 20px;width:25%}}.ptx-runestone-container #completionButton,.runestone-sphinx #completionButton{color:var(--completionButtonText);font-weight:700;margin-bottom:15px;margin-top:25px;padding-left:70px;padding-right:70px}.ptx-runestone-container .buttonAskCompletion,.runestone-sphinx .buttonAskCompletion{background-color:var(--completionButton);border-color:var(--completionButtonHover);font-weight:700}.ptx-runestone-container .buttonAskCompletion:hover,.runestone-sphinx .buttonAskCompletion:hover{background-color:var(--completionButtonHover);border-color:var(--completionButtonHover)}.ptx-runestone-container .buttonConfirmCompletion,.runestone-sphinx .buttonConfirmCompletion{background-color:#377e22;border-color:#3dc682;color:#fff!important}.ptx-runestone-container .buttonConfirmCompletion:hover,.runestone-sphinx .buttonConfirmCompletion:hover{background-color:#3dc682;border-color:#3dc682}.ptx-runestone-container .navLinkBg,.runestone-sphinx .navLinkBg{background-color:#fff;bottom:55px;-webkit-box-shadow:0 0 3px rgba(50,50,50,.5);-moz-box-shadow:0 0 3px rgba(50,50,50,.5);box-shadow:0 0 3px rgba(50,50,50,.5);color:#999;font-weight:700;height:40px;position:fixed;z-index:1}.ptx-runestone-container .navLinkBg:hover,.runestone-sphinx .navLinkBg:hover{color:#999}.ptx-runestone-container #navLinkBgRight,.runestone-sphinx #navLinkBgRight{padding:10px 15px 0 65px;right:-1000px}.ptx-runestone-container #navLinkBgLeft,.runestone-sphinx #navLinkBgLeft{left:-65px;padding-left:15px;padding-right:50px}.ptx-runestone-container .activehtml,.runestone-sphinx .activehtml{background-color:#fff;height:400px;width:100%}.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 0 .5em 1em}.ptx-runestone-container a.disqus_thread_link,.runestone-sphinx a.disqus_thread_link{display:block}.ptx-runestone-container .reveal_button,.runestone-sphinx .reveal_button{display:block;margin-left:0}.ptx-runestone-container iframe[seamless],.runestone-sphinx iframe[seamless]{display:block}@media (min-width:768px){.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 3em .5em 1em}}@media (min-width:992px){.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 11em .5em 1em}}@media (min-width:1200px){.ptx-runestone-container .container section>div.sidebar,.runestone-sphinx .container section>div.sidebar{margin:0 18em .5em 1em}}.ptx-runestone-container div.ExecutionVisualizer table.visualizer,.runestone-sphinx div.ExecutionVisualizer table.visualizer{background-color:#fff;margin-left:auto;margin-right:auto;width:auto}.ptx-runestone-container .sltooltip,.runestone-sphinx .sltooltip{bottom:120%;display:block;font-size:11px;margin-left:-2em;margin-top:-2px;padding-bottom:5px;position:absolute;visibility:visible;z-index:1020}.ptx-runestone-container .sltooltip .sltooltip-arrow,.runestone-sphinx .sltooltip .sltooltip-arrow{border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #000;bottom:0;height:0;left:50%;margin-left:-5px;position:absolute;width:0}.ptx-runestone-container .sltooltip-inner,.runestone-sphinx .sltooltip-inner{background-color:#000;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;color:var(--tooltip);max-width:200px;padding:3px 8px;text-align:center;text-decoration:none}.ptx-runestone-container ul.dropdown-menu.globaltoc,.runestone-sphinx ul.dropdown-menu.globaltoc{max-height:700px;overflow:auto}.ptx-runestone-container .globaltoc span.caption-text,.runestone-sphinx .globaltoc span.caption-text{display:inline-block;font-size:large;font-weight:700}.ptx-runestone-container textarea.lp-result,.runestone-sphinx textarea.lp-result{font-family:monospace;height:10em;width:100%}.ptx-runestone-container .visuallyhidden,.runestone-sphinx .visuallyhidden{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.ptx-runestone-container .visuallyhidden.focusable:active,.ptx-runestone-container .visuallyhidden.focusable:focus,.runestone-sphinx .visuallyhidden.focusable:active,.runestone-sphinx .visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;white-space:inherit;width:auto}.ptx-runestone-container .blockquote,.runestone-sphinx .blockquote{font-size:large;font-style:italic;padding-left:2em;padding-right:2em;text-align:center}.ptx-runestone-container #subchapterprogress.ui-progressbar .ui-progressbar-value,.runestone-sphinx #subchapterprogress.ui-progressbar .ui-progressbar-value{border-radius:0;margin:0}.ptx-runestone-container #subchapterprogress>div,.runestone-sphinx #subchapterprogress>div{background:green}.ptx-runestone-container #subchapterprogress>div.loggedout,.runestone-sphinx #subchapterprogress>div.loggedout{background:#d3d3d3}.ptx-runestone-container .runestone_caption,.runestone-sphinx .runestone_caption{text-align:center}.ptx-runestone-container .runestone_caption_divid,.runestone-sphinx .runestone_caption_divid{opacity:50%}.ptx-runestone-container #questions .runestone_caption:before,.runestone-sphinx #questions .runestone_caption:before{content:"Problem: " counter(rscomponent) " -- ";counter-increment:rscomponent}.ptx-runestone-container body,.runestone-sphinx body{color:var(--bodyFont)}.ptx-runestone-container .jupyter_container .output,.runestone-sphinx .jupyter_container .output{margin-top:10px}.ptx-runestone-container .jupyter_container .output td,.ptx-runestone-container .jupyter_container .output th,.runestone-sphinx .jupyter_container .output td,.runestone-sphinx .jupyter_container .output th{padding-left:5px;padding-right:5px}.ptx-runestone-container .dropdown-menu>li>label.theme-switch,.runestone-sphinx .dropdown-menu>li>label.theme-switch{align-items:center;cursor:pointer;display:flex;font-weight:400}.ptx-runestone-container .theme-switch input,.runestone-sphinx .theme-switch input{display:none}.ptx-runestone-container .theme-switch .slider,.runestone-sphinx .theme-switch .slider{background-color:#ccc;height:1.25em;margin-right:3px;position:relative;transition:.4s;width:2em}.ptx-runestone-container .theme-switch .slider:before,.runestone-sphinx .theme-switch .slider:before{background-color:#fff;bottom:2px;content:"";height:calc(1.25em - 4px);left:2px;position:absolute;transition:.4s;width:calc(1.25em - 4px)}.ptx-runestone-container .theme-switch input:checked+.slider,.runestone-sphinx .theme-switch input:checked+.slider{background-color:#66bb6a}.ptx-runestone-container .theme-switch input:checked+.slider:before,.runestone-sphinx .theme-switch input:checked+.slider:before{transform:translateX(calc(.75em - 1px))}.ptx-runestone-container .theme-switch .slider.round,.ptx-runestone-container .theme-switch .slider.round:before,.runestone-sphinx .theme-switch .slider.round,.runestone-sphinx .theme-switch .slider.round:before{border-radius:1.25em}.ptx-runestone-container .adcopy,.runestone-sphinx .adcopy{background-color:#f2e0c3;border:2px solid #000;border-radius:10px;margin-left:auto;margin-right:auto;margin-top:10px;padding:10px;width:60%}.ptx-runestone-container .adcopy .donateb,.runestone-sphinx .adcopy .donateb{margin-left:30%}.ptx-runestone-container .isCorrect:before,.runestone-sphinx .isCorrect:before{content:"✅ ";float:right;padding-left:4px}.ptx-runestone-container .isInCorrect:before,.runestone-sphinx .isInCorrect:before{content:"⚠️ ";float:right;padding-left:4px}.ptx-runestone-container pre,.runestone-sphinx pre{background:inherit;color:inherit}.ptx-runestone-container summary.ptx-footnote__number,.runestone-sphinx summary.ptx-footnote__number{display:inline}.ptx-runestone-container summary.knowl__link,.runestone-sphinx summary.knowl__link{display:list-item inline}.ptx-runestone-container details.ptx-footnote,.runestone-sphinx details.ptx-footnote{display:inline}.ptx-runestone-container .handsontable td,.ptx-runestone-container .handsontable th,.runestone-sphinx .handsontable td,.runestone-sphinx .handsontable th{background-color:var(--content-background,#fff);color:var(--bodyFont,#000)}.ptx-runestone-container legend,.runestone-sphinx legend{border-bottom-color:var(--grayToWhite,#333);color:var(--grayToWhite,#333)}.ptx-runestone-container .autopermalink,.runestone-sphinx .autopermalink{display:none}.ptx-runestone-container :root,.runestone-sphinx :root{--codebuttons:#474949}.ptx-runestone-container [data-theme=dark],.runestone-sphinx [data-theme=dark]{--codebuttons:#2c0aa6}.ptx-runestone-container li.dropdown.open a.dropdown-toggle,.ptx-runestone-container li.dropdown.open a.dropdown-toggle:focus,.runestone-sphinx li.dropdown.open a.dropdown-toggle,.runestone-sphinx li.dropdown.open a.dropdown-toggle:focus{background-color:#2a5659!important;border:0!important;color:#f8f8f8!important}.ptx-runestone-container a.dropdown-toggle:focus,.runestone-sphinx a.dropdown-toggle:focus{background-color:#52a6ac!important;color:#f8f8f8!important}.ptx-runestone-container li.divider-vertical,.runestone-sphinx li.divider-vertical{margin:0!important}.ptx-runestone-container li.dropdown a.dropdown-toggle,.runestone-sphinx li.dropdown a.dropdown-toggle{padding:15px 18px!important}.ptx-runestone-container button.btn.btn-default:active,.ptx-runestone-container button.btn.btn-default:focus,.runestone-sphinx button.btn.btn-default:active,.runestone-sphinx button.btn.btn-default:focus{background-color:#fff!important;color:#474949!important}.ptx-runestone-container button.btn.btn-default,.runestone-sphinx button.btn.btn-default{background-color:#474949!important;color:#fff!important}.ptx-runestone-container button.btn.btn-default.btn-sm.disabled:active,.ptx-runestone-container button.btn.btn-default.btn-sm.disabled:focus,.runestone-sphinx button.btn.btn-default.btn-sm.disabled:active,.runestone-sphinx button.btn.btn-default.btn-sm.disabled:focus{background-color:#fff!important;color:#474949!important}.ptx-runestone-container button.btn.btn-default.btn-sm.disabled,.runestone-sphinx button.btn.btn-default.btn-sm.disabled{background-color:#474949!important;color:#fff!important}.ptx-runestone-container button.btn.btn-success:active,.ptx-runestone-container button.btn.btn-success:focus,.runestone-sphinx button.btn.btn-success:active,.runestone-sphinx button.btn.btn-success:focus{background-color:#fff!important;color:#427e44!important}.ptx-runestone-container button.btn.btn-success,.runestone-sphinx button.btn.btn-success{background-color:#427e44!important;color:#fff!important}.ptx-runestone-container button.btn.btn-primary:active,.ptx-runestone-container button.btn.btn-primary:focus,.runestone-sphinx button.btn.btn-primary:active,.runestone-sphinx button.btn.btn-primary:focus{background-color:#fff!important;color:#3379b6!important}.ptx-runestone-container button.btn.btn-primary,.runestone-sphinx button.btn.btn-primary{background-color:#3379b6!important;color:#fff!important}.ptx-runestone-container button.btn.btn-info:active,.ptx-runestone-container button.btn.btn-info:focus,.runestone-sphinx button.btn.btn-info:active,.runestone-sphinx button.btn.btn-info:focus{background-color:#fff!important;color:#1a6a83!important}.ptx-runestone-container button.btn.btn-info,.runestone-sphinx button.btn.btn-info{background-color:#1a6a83!important;color:#fff!important}.ptx-runestone-container button.btn.btn-warning:active,.ptx-runestone-container button.btn.btn-warning:focus,.runestone-sphinx button.btn.btn-warning:active,.runestone-sphinx button.btn.btn-warning:focus{background-color:#fff!important;color:#945c0e!important}.ptx-runestone-container button.btn.btn-warning,.runestone-sphinx button.btn.btn-warning{background-color:#945c0e!important;color:#fff!important}.ptx-runestone-container button.btn.btn-danger:active,.ptx-runestone-container button.btn.btn-danger:focus,.runestone-sphinx button.btn.btn-danger:active,.runestone-sphinx button.btn.btn-danger:focus{background-color:#fff!important;color:#d33a35!important}.ptx-runestone-container button.btn.btn-danger,.runestone-sphinx button.btn.btn-danger{background-color:#d33a35!important;color:#fff!important}.ptx-runestone-container button.btn.btn-link:active,.ptx-runestone-container button.btn.btn-link:focus,.runestone-sphinx button.btn.btn-link:active,.runestone-sphinx button.btn.btn-link:focus{background-color:#1a6a83!important;color:#fff!important}.ptx-runestone-container button.btn.btn-link,.runestone-sphinx button.btn.btn-link{background-color:#fff!important;color:#1a6a83!important}:root{--background:#fff;--outerBackground:#eee;--links:#0645ad;--bodyFont:var(--body-text-color,#000);--tooltip:#fff;--grayToWhite:#333;--navbar:#f8f8f8;--navbarFont:#707070;--navbarFontHover:#000;--alerts:#d9edf7;--completionButton:#f19711;--completionButtonHover:#ff9f19;--completionButtonText:#000;--admonition:#fcf8e3;--admonitionBorder:#fbeed5;--codeButtons:#474949;--codeButtonsBorder:#474949;--dangerAlerts:#f2dede;--successAlerts:#dff0d8;--contentWidthRegular:660px;--contentWidthWide:1060px;--componentBgColor:#f0f8ff;--componentBorderColor:#000;--questionBgColor:#e1efff;--parsonsBgColor:#ffa;--parsonsBorderColor:#ee0;--parsonsCorrectBgColor:#dff0d8;--parsonsCorrectBorderColor:#ade595;--parsonsIncorrectBgColor:#f2dede;--parsonsIncorrectBorderColor:#f2b6b6}:root.dark-mode{--background:#2c2f33;--outerBackground:#23272a;--links:#7289da;--bodyFont:var(--body-text-color,#99aab5);--tooltip:#000;--grayToWhite:#aaa;--navbar:#3d3d3d;--navbarFont:#fff;--navbarFontHover:#d6d6d6;--alerts:#714082;--completionButton:#650087;--completionButtonHover:#560073;--completionButtonText:#fff;--admonition:#3d3d3d;--admonitionBorder:#262626;--codeButtons:#67739d;--codeButtonsBorder:#fff;--dangerAlerts:#8c2626;--successAlerts:#217300;--componentBgColor:var(--rs-component-bg,var(--knowl-background,#07467d));--componentBorderColor:var(--rs-component-border,var(--knowl-border-color,#939090));--questionBgColor:var(--rs-component-bg,var(--knowl-nested-1-background,#0f5a9b));--parsonsBgColor:#e8e8b2;--parsonsBorderColor:#a8a82d;--parsonsCorrectBgColor:#a3c097;--parsonsCorrectBorderColor:#60904c;--parsonsIncorrectBgColor:#ae9090;--parsonsIncorrectBorderColor:#c16b6b}[data-theme=dark]{--background:#2c2f33;--outerBackground:#23272a;--links:#7289da;--bodyFont:#99aab5;--tooltip:#000;--grayToWhite:#fff;--navbar:#3d3d3d;--navbarFont:#fff;--navbarFontHover:#d6d6d6;--alerts:#714082;--completionButton:#650087;--completionButtonHover:#560073;--completionButtonText:#fff;--admonition:#3d3d3d;--admonitionBorder:#262626;--codeButtons:#7289da;--codeButtonsBorder:#fff;--dangerAlerts:#8c2626;--successAlerts:#217300;--componentBgColor:#07467d;--componentBorderColor:#939090;--questionBgColor:#17555d}#scprogresscontainer{margin:10px auto;max-width:500px;width:100%}#subchapterprogress{background-color:var(--alerts);border:1px solid var(--grayToWhite);border-radius:5px;height:20px;position:relative;width:100%}.exercise-statement{display:block;margin-bottom:1em}:root{--menu:#fff}[data-theme=dark]{--menu:#000}.my-highlighted-text{background-color:#ff9}.social-highlighted-text{background-color:#fcc}.highlight-option-box{left:0;position:absolute;top:0}.highlight-option-box li{height:24px}#continue-reading{display:none;padding-top:20px}#continue-reading a{float:right;margin-right:20px}li.completed{list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAO5JREFUeNpi/P//PwMlgImBQjAwBthc4osH4skgNguJGrmA1BQgjgPiUJIMAGpWBVKrgNgAiL2P6H3aRrQBQM12QGo1EIsBcQxMM0oYABXxAjETFs2+QGobVHM9UPNSjEAEKgoEUjeBuBhNcwDUZm4gXg/U3IRuAcwLSkAsCcRdQE16QDoRiG2BGGQbOxA/BOIcbN5jhKVEoMYiINULFT8PxCJALAvlhwBtX4vXAKghpSBXoKlZCtQcQ1RCAirsBlJVSEIfgLiRpJQINKQdSNVCuTOB/Nt44xjkBWzY+iJvGRBr4pKHYUZKszNAgAEAln9yGpx/ZXMAAAAASUVORK5CYII=)}li.active{list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIlJREFUeNpi/P//PwMlgImBQjAMDGCBsxZIkaYz4RmaAZhAHYjNoOxTQHwTvwsQgAeIe4E4DU18FhAXAPF3QgbMB+IQLOIgA4WAOBRfIOri0AwDIDktfAbYEBF89jRNB0eI0HMEnwGXgXgNHs1roGrweiERGmUMWKIxkZh08AWI04G4j5iEBBBgAPddF58mobqdAAAAAElFTkSuQmCC)}.infoTextCompleted{color:#3dc682}.infoTextActive,.infoTextCompleted{display:none;font-size:.9em;font-style:italic;margin-left:10px;opacity:.7}.infoTextActive{color:#ff9f19}.dropdown-menu{background-clip:padding-box;background-color:var(--menu);border:1px solid rgba(0,0,0,.2);border-radius:5px 5px 5px 5px;box-shadow:0 5px 10px rgba(0,0,0,.2);display:none;list-style:none outside none;margin:1px 0 0;min-width:160px;padding:4px 0;position:absolute;top:100%;z-index:1000}.dropdown-menu ul{list-style:disc none outside;margin:0 0 9px 25px;padding:0}.sidebar-highlights{background-color:#ff9}div.documentwrapper{border:0}div.bodywrapper{border-right:0}div.sphinxsidebar{border-left:1px solid #ccc;padding-left:10px}.body>.section .section{padding-top:1px}#jump-to-chapter{border:1px solid #ccc;letter-spacing:.015em;line-height:120%;margin-left:auto;margin-right:auto;padding:.5em;width:80%}#navigation-links{background-color:#f8f8f8;border:1px solid #ccc;margin:10px;padding:10px}.matrixeq_container{margin:0 0 6px;padding:6px}span.matrix_table{border:2px solid #000;margin:0 0 4px;overflow:visible;padding:0 1px;text-align:center}span.matrix_column,span.matrix_table{background-color:inherit;display:inline-table}span.matrix_column{border-width:0;font-family:monospace;font-size:12px;margin:0 1px;padding:2px 8px;vertical-align:middle}span.matrix_column div{background-color:inherit;display:block;margin:1px;padding:2px}span.matrix_table .matrix_column{border-style:none;margin-left:5px;margin-right:5px}span.matrix_table:before{top:-2px}span.matrix_table:after,span.matrix_table:before{background-color:inherit;content:" ";display:block;height:2px;margin:0 auto;position:relative;text-align:center;width:85%;z-index:100}span.matrix_table:after{top:2px}span.matrix_column:before{top:-2px}span.matrix_column:after,span.matrix_column:before{content:" ";display:block;height:2px;position:relative;width:85%;z-index:100}span.matrix_column:after{top:2px}span.matrix_table span.matrix_column:after,span.matrix_table span.matrix_column:before{height:0}span.matrix_table input[type=text]{appearance:none;background-color:inherit;box-shadow:none;display:block;font-family:sans-serif;font-size:12px;height:24px;margin:0;text-align:right;width:50px}span.matrix_operator{font-family:monospace;font-size:18px;margin:0 4px;padding:0}span.matrix_label,span.matrix_operator{display:inline-table;vertical-align:middle}span.matrix_label{font-family:sans-serif;font-size:12px;margin:0 1px;padding:0 0 0 20px}.lightcyanColor{background-color:#e0ffff}.lightgreyColor{background-color:#d3d3d3}.purpleColor{background-color:#dfb5e8}.yellowColor{background-color:#fdff9d}.webgl_container{background-color:#fcf8e3;display:block;margin-bottom:1em}.webgl_cmds,.webgl_container{box-sizing:border-box;width:100%}.webgl_cmds{padding:6px;text-align:center}.webgl_row2{box-sizing:border-box;display:block;height:550px;padding:0 4px;width:100%}.webgl_canvas,.webgl_editors{box-sizing:border-box;display:block;float:left;visibility:visible;width:50%}.webgl_canvas{font-size:12px;font-weight:400;padding-left:5px}.webgl_output{box-sizing:border-box;float:left;margin-top:6px;padding:4px;width:100%}.webgl_nav_tabs{background-color:#cfccb8;border-color:#fbeed5;display:inline-flex;height:31px;margin:0;overflow:hidden;padding:6px 0 0;width:100%}.webgl_nav_tabs,.webgl_nav_tabs li{border-top-left-radius:4px;border-top-right-radius:4px;list-style-type:none}.webgl_nav_tabs li{background-color:#e6e2cc;float:left;font-size:9pt;margin:0 0 0 4px;padding:4px 1px 4px 4px;position:relative}.webgl_nav_tabs li>a{color:#555;padding:8px;text-decoration:none}.webgl_nav_tabs>li>a:hover{border-bottom-width:0;border-color:#b4b19d}.webgl_nav_tabs li.active{background-color:#fff;list-style-image:none;list-style-type:none}.webgl_tab_content{background-color:#fcf8e3;border:0;clear:both;color:#c09853;margin:0 0 20px;position:absolute;width:100%;z-index:1}.webgl_tab_content.active{z-index:2}.webgl_tab_content>*{margin-left:auto;margin-right:auto}.webgl_tab_content .clearfix{position:static}.webgl_tab_editor{background-color:#fcf8e3;border:0;clear:both;color:#c09853;margin:0 0 20px;padding:10px 4px;position:absolute;width:100%}.webgl_code{float:left;width:100%}.webgl_tab_contents_text{background-color:#fcf8e3;border:0;clear:both;color:#c09853;margin:0 0 20px;padding:10px 4px;position:absolute;width:100%;z-index:1}.webgl_errorMessages{color:red}.webgl_warningMessages{color:#aa22a4}.webgl_infoMessages{color:#189040}.webgl_output_div{background-color:#fff;border:1px solid #d3d3d3;font-size:12px;font-weight:400;height:14em;margin:2px;overflow:auto;padding-bottom:4px;padding-left:4px;padding-top:4px;width:100%}.webgl_editor_highlight{background-color:#eee}.webgl_btn{background-color:thistle;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-block;font-size:12px;font-weight:400;margin-bottom:0;padding:3px 6px;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.webgl_tabbed_editor{font-family:monospace,sans-serif;font-size:9pt;font-style:normal;resize:none;width:100%}.canvas3D{height:100%;width:100%}.CodeMirror.webgl-default{border:1px solid #eee;font-family:monospace,sans-serif;font-size:8pt;font-style:normal}button.btn.webgl-default{font-size:8pt}.runestone-sphinx .hidden{display:none}.runestone-sphinx .view-toggle{padding:.85em}.runestone-sphinx .presentation-mode section *{display:none}.runestone-sphinx .presentation-mode section .runestone,.runestone-sphinx .presentation-mode section .runestone *{display:initial}.runestone-sphinx .full-height,.runestone-sphinx .present{height:100vh}.runestone-sphinx .bottom{bottom:0;position:absolute}.runestone-sphinx #codeDisplayDiv{width:auto!important}.runestone-sphinx div.ExecutionVisualizer #dataViz{margin:0}.runestone-sphinx div.ExecutionVisualizer div#stackHeader{text-align:center}.runestone-sphinx #stackFrame{display:block!important}.runestone-sphinx #stackHeapTable{width:100%}.runestone-sphinx #stackHeapTable tr{justify-content:space-around}.runestone-sphinx div.ExecutionVisualizer td#heap_td,.runestone-sphinx div.ExecutionVisualizer td#stack_td{flex:1}.runestone-sphinx .presentation-title{display:none}.runestone-sphinx .present .presentation-title{display:block}.runestone-sphinx div.ExecutionVisualizer div#heap{float:none;padding-left:0}.runestone-sphinx #heap_td tr,.runestone-sphinx #stack_td tr{display:table-row}.runestone-sphinx #codeDisplayDiv{margin:0 auto}.runestone-sphinx #vizLayoutTd{flex:1}.runestone-sphinx #vizLayoutTdFirst{flex:2}.runestone-sphinx #vizLayoutTdSecond{flex:1}.runestone-sphinx #vizLayoutTdThird{flex:2}.runestone-sphinx #progOutputs{display:block!important;margin:0 20px;width:60%}.runestone-sphinx #pyStdout{width:100%!important}.runestone-sphinx div.ExecutionVisualizer #pyStdout{margin-bottom:1em}.runestone-sphinx div.ExecutionVisualizer table.visualizer{width:100%}.runestone-sphinx .present #vizLayoutTdThird{text-align:left}.runestone-sphinx .ac-block{display:flex;margin-bottom:1em}.runestone-sphinx .row-mode .ac-block{display:block;margin-bottom:0}.runestone-sphinx .row-mode .ac_code_div,.runestone-sphinx .row-mode .ac_output{display:block;float:none;max-width:none;width:auto}.runestone-sphinx .row-mode .ac_code_div{margin-bottom:1em}.runestone-sphinx .ac_section>*{max-width:100%}.runestone-sphinx .ac_output{display:block;max-width:100%}.runestone-sphinx .ac_output pre{min-height:60px;visibility:visible!important}.runestone-sphinx .CodeMirror{border-radius:3px;margin:0;max-width:100%;min-height:60px}.runestone-sphinx .container section>runestone:not(.ac_section){margin:0;max-width:none}.runestone-sphinx .presentation-options{align-items:center;display:flex;justify-content:flex-end}.runestone-sphinx .layout-btn{align-items:center;background-color:#fbeed5;border:2px solid #dfd4be;border-radius:2px;display:flex;justify-content:center;margin:0 .5rem;padding:.25rem;transition:all .2s ease}.runestone-sphinx .layout-btn.active-layout,.runestone-sphinx .layout-btn:focus{border:2px solid #979797;outline:none}.runestone-sphinx .sketchpad-container{min-height:300px;min-width:50%;padding:0 15px}.runestone-sphinx .card-mode .sketchpad-container{display:inline-block;margin:0;vertical-align:top;width:50%}.runestone-sphinx .row-mode .error{margin:20px 15px}.runestone-sphinx .card-mode .error{display:inline-block;margin:28px 0 0;padding:0 15px;vertical-align:top;width:50%}.runestone-sphinx .sketchpad{background:#fff;border:2px solid grey;border-radius:3px;display:block;min-height:300px;width:100%}.runestone-sphinx .btn-presenter{border-radius:3px;font-weight:500;margin:1.5rem 0 1.5rem 1.5rem;padding:.5rem 1rem}.runestone-sphinx .btn-grey-outline{background:#fff;border:2px solid grey;color:grey}.runestone-sphinx .btn-grey-solid{background:grey;border:2px solid grey;color:#fff}.runestone-sphinx body.present .ac_section>*{max-width:none}.runestone-sphinx body.present iframe{width:100%}.runestone-sphinx body.present #relations-next,.runestone-sphinx body.present #relations-prev,.runestone-sphinx body.present .navLinkBg{display:none}.runestone-sphinx body.present .btn-presenter{position:absolute}.runestone-sphinx body.present .btn-presenter.prev-exercise{left:0}.runestone-sphinx body.present .btn-presenter.next-exercise{right:0} +/*# sourceMappingURL=prefix-runestone.677a75a9120449ff.css.map*/ \ No newline at end of file diff --git a/course/_static/prefix-runestone.f4ab138da65f4203.css.gz b/course/_static/prefix-runestone.677a75a9120449ff.css.gz similarity index 78% rename from course/_static/prefix-runestone.f4ab138da65f4203.css.gz rename to course/_static/prefix-runestone.677a75a9120449ff.css.gz index 14a8fe2..506a516 100755 Binary files a/course/_static/prefix-runestone.f4ab138da65f4203.css.gz and b/course/_static/prefix-runestone.677a75a9120449ff.css.gz differ diff --git a/course/_static/prefix-runestone.677a75a9120449ff.css.map b/course/_static/prefix-runestone.677a75a9120449ff.css.map new file mode 100755 index 0000000..fcf11e3 --- /dev/null +++ b/course/_static/prefix-runestone.677a75a9120449ff.css.map @@ -0,0 +1 @@ +{"version":3,"file":"prefix-runestone.677a75a9120449ff.css","mappings":"AAAA;EAEE;;;;EAIA;EACA,2EAA2E;EAC3E,oFAAoF,CA6LtF,CArMA,qDCQE,yBAA0B,CAC1B,6BAA8B,CAF9B,sBDoMF,CA3MA,qDCYE,QDmMF,CA/MA,quBC2BE,aDgNF,CA3OA,oOCiCE,oBAAqB,CACrB,uBDoNF,CAtPA,uFCqCE,YAAa,CACb,QDqNF,CA3PA,0HC0CE,YDuNF,CAjQA,+CC6CE,4BDwNF,CArQA,wHCiDE,SD0NF,CA3QA,mECoDE,kBAAmB,CACnB,yBAA0B,CAC1B,wCAAyC,CACzC,qCAAsC,CACtC,gCD2NF,CAnRA,wGC4DE,eD6NF,CAzRA,mDC+DE,iBD8NF,CA7RA,iDCkEE,aAAc,CACd,cD+NF,CAlSA,qDCsEE,eAAgB,CAChB,UDgOF,CAvSA,uDC0EE,aDiOF,CA3SA,sGC8EE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBDmOF,CApTA,mDCoFE,SDoOF,CAxTA,mDCuFE,aDqOF,CA5TA,mDC0FE,QDsOF,CAhUA,yEC6FE,eDuOF,CApUA,yDCgGE,eDwOF,CAxUA,iDCmGE,8BAA+B,CAC/B,2BAA4B,CAC5B,sBAAuB,CACvB,QDyOF,CA/UA,mDCyGE,aD0OF,CAnVA,gNC+GE,+BAAiC,CACjC,aD8OF,CA9VA,mSCuHE,aAAc,CACd,YAAa,CACb,QDmPF,CA5WA,yDC4HE,gBDoPF,CAhXA,kHCgIE,mBDsPF,CAtXA,oTCsIE,yBAA0B,CAC1B,cD0PF,CAjYA,kKC2IE,cD4PF,CAvYA,wLC+IE,QAAS,CACT,SD8PF,CA9YA,uDCmJE,kBD+PF,CAlZA,oKCuJE,6BAA8B,CAC9B,0BAA2B,CAC3B,qBAAsB,CACtB,SDiQF,CA3ZA,8QC8JE,WDmQF,CAjaA,iFCiKE,4BAA6B,CAC7B,8BAA+B,CAC/B,2BAA4B,CAC5B,sBDoQF,CAxaA,oRCwKE,uBDsQF,CA9aA,6DC2KE,uBAAyB,CACzB,YAAa,CACb,0BDuQF,CApbA,6DCoLE,aDyQF,CA7bA,6DCuLE,eD0QF,CAjcA,uDC0LE,wBAAyB,CACzB,gBD2QF,CAtcA,kGC+LE,SD6QF,CC1QA,gLAMI,gCAAkC,CAClC,iCAAmC,CACnC,yBAA2B,CAJ3B,oBAAsB,CACtB,0BDkRF,CCvRF,8GAYI,yBDiRF,CC7RF,uEAeI,2BDkRF,CCjSF,+EAkBI,4BDmRF,CCrSF,sLAsBI,UDqRF,CC3SF,oHA0BI,qBAAsB,CACtB,uBDuRF,CClTF,uDA8BI,0BDwRF,CCtTF,oGAkCI,uBD0RF,CC5TF,mDAqCI,wBD2RF,CChUF,iJA0CI,SAAU,CACV,QD8RF,CCzUF,kGA+CI,sBDgSF,CC/UF,2DAkDI,YDiSF,CCnVF,sJAsDI,+BDmSF,CCzVF,yDAyDI,qBDoSF,CC7VF,yDA4DI,kCDqSF,CCjWF,8HAgEI,+BDuSF,CCvWF,kKAoEI,+BDySF,CACF,CCvSA,WACE,gCAAmC,CACnC,8BACA,uQDySF,CArjBA,iECsRE,kCAAmC,CACnC,iCAAkC,CANlC,oBAAqB,CACrB,gCAAmC,CACnC,iBAAkB,CAClB,eAAgB,CAChB,aAAc,CANd,iBAAkB,CAClB,ODiTF,CAjkBA,iGC0RE,eD2SF,CArkBA,yFC6RE,eD4SF,CAzkBA,gLCiSE,eD8SF,CA/kBA,2FCoSE,eD+SF,CAnlBA,2FCuSE,eDgTF,CAvlBA,iGC0SE,eDiTF,CA3lBA,6FC6SE,eDkTF,CA/lBA,2FCgTE,eDmTF,CAnmBA,2FCmTE,eDoTF,CAvmBA,6FCsTE,eDqTF,CA3mBA,2FCyTE,eDsTF,CA/mBA,yFC4TE,eDuTF,CAnnBA,qGC+TE,eDwTF,CAvnBA,yFCkUE,eDyTF,CA3nBA,yFCqUE,eD0TF,CA/nBA,iGCwUE,eD2TF,CAnoBA,qFC2UE,eD4TF,CAvoBA,+FC8UE,eD6TF,CA3oBA,qFCiVE,eD8TF,CA/oBA,6FCoVE,eD+TF,CAnpBA,+FCuVE,eDgUF,CAvpBA,iGC0VE,eDiUF,CA3pBA,uFC6VE,eDkUF,CA/pBA,6FCgWE,eDmUF,CAnqBA,uFCmWE,eDoUF,CAvqBA,2FCsWE,eDqUF,CA3qBA,yFCyWE,eDsUF,CA/qBA,yFC4WE,eDuUF,CAnrBA,yFC+WE,eDwUF,CAvrBA,yFCkXE,eDyUF,CA3rBA,yGCqXE,eD0UF,CA/rBA,iGCwXE,eD2UF,CAnsBA,6FC2XE,eD4UF,CAvsBA,2FC8XE,eD6UF,CA3sBA,uGCiYE,eD8UF,CA/sBA,6FCoYE,eD+UF,CAntBA,+FCuYE,eDgVF,CAvtBA,iGC0YE,eDiVF,CA3tBA,yFC6YE,eDkVF,CA/tBA,yFCgZE,eDmVF,CAnuBA,qGCmZE,eDoVF,CAvuBA,qGCsZE,eDqVF,CA3uBA,uGCyZE,eDsVF,CA/uBA,mGC4ZE,eDuVF,CAnvBA,6FC+ZE,eDwVF,CAvvBA,+FCkaE,eDyVF,CA3vBA,uFCqaE,eD0VF,CA/vBA,yFCwaE,eD2VF,CAnwBA,yFC2aE,eD4VF,CAvwBA,iGC8aE,eD6VF,CA3wBA,2FCibE,eD8VF,CA/wBA,6FCobE,eD+VF,CAnxBA,yFCubE,eDgWF,CAvxBA,yFC0bE,eDiWF,CA3xBA,6FC6bE,eDkWF,CA/xBA,uGCgcE,eDmWF,CAnyBA,qGCmcE,eDoWF,CAvyBA,qGCscE,eDqWF,CA3yBA,yGCycE,eDsWF,CA/yBA,uGC4cE,eDuWF,CAnzBA,2GC+cE,eDwWF,CAvzBA,yFCkdE,eDyWF,CA3zBA,uGCqdE,eD0WF,CA/zBA,yGCwdE,eD2WF,CAn0BA,6GC2dE,eD4WF,CAv0BA,+FC8dE,eD6WF,CA30BA,qGCieE,eD8WF,CA/0BA,6FCoeE,eD+WF,CAn1BA,yFCueE,eDgXF,CAv1BA,yFC0eE,eDiXF,CA31BA,2FC6eE,eDkXF,CA/1BA,2FCgfE,eDmXF,CAn2BA,yFCmfE,eDoXF,CAv2BA,2GCsfE,eDqXF,CA32BA,2GCyfE,eDsXF,CA/2BA,iGC4fE,eDuXF,CAn3BA,yFC+fE,eDwXF,CAv3BA,2FCkgBE,eDyXF,CA33BA,yFCqgBE,eD0XF,CA/3BA,+FCwgBE,eD2XF,CAn4BA,yGC2gBE,eD4XF,CAv4BA,yGC8gBE,eD6XF,CA34BA,2FCihBE,eD8XF,CA/4BA,yGCohBE,eD+XF,CAn5BA,2GCuhBE,eDgYF,CAv5BA,mGC0hBE,eDiYF,CA35BA,qGC6hBE,eDkYF,CA/5BA,uGCgiBE,eDmYF,CAn6BA,+FCmiBE,eDoYF,CAv6BA,2GCsiBE,eDqYF,CA36BA,mGCyiBE,eDsYF,CA/6BA,qGC4iBE,eDuYF,CAn7BA,2GC+iBE,eDwYF,CAv7BA,mGCkjBE,eDyYF,CA37BA,qGCqjBE,eD0YF,CA/7BA,qGCwjBE,eD2YF,CAn8BA,uGC2jBE,eD4YF,CAv8BA,iGC8jBE,eD6YF,CA38BA,qGCikBE,eD8YF,CA/8BA,mGCokBE,eD+YF,CAn9BA,uGCukBE,eDgZF,CAv9BA,yGC0kBE,eDiZF,CA39BA,iHC6kBE,eDkZF,CA/9BA,yFCglBE,eDmZF,CAn+BA,yFCmlBE,eDoZF,CAv+BA,yFCslBE,eDqZF,CA3+BA,iGCylBE,eDsZF,CA/+BA,mGC4lBE,eDuZF,CAn/BA,yGC+lBE,eDwZF,CAv/BA,2FCkmBE,eDyZF,CA3/BA,iGCqmBE,eD0ZF,CA//BA,6FCwmBE,eD2ZF,CAngCA,+FC2mBE,eD4ZF,CAvgCA,6FC8mBE,eD6ZF,CA3gCA,qGCinBE,eD8ZF,CA/gCA,yGConBE,eD+ZF,CAnhCA,+FCunBE,eDgaF,CAvhCA,2GC0nBE,eDiaF,CA3hCA,yGC6nBE,eDkaF,CA/hCA,uGCgoBE,eDmaF,CAniCA,+GCmoBE,eDoaF,CAviCA,mHCsoBE,eDqaF,CA3iCA,uFCyoBE,eDsaF,CA/iCA,iGC4oBE,eDuaF,CAnjCA,yFC+oBE,eDwaF,CAvjCA,uGCkpBE,eDyaF,CA3jCA,mGCqpBE,eD0aF,CA/jCA,uGCwpBE,eD2aF,CAnkCA,qGC2pBE,eD4aF,CAvkCA,mGC8pBE,eD6aF,CA3kCA,+FCiqBE,eD8aF,CA/kCA,mGCoqBE,eD+aF,CAnlCA,qHCuqBE,eDgbF,CAvlCA,mHC0qBE,eDibF,CA3lCA,+GC6qBE,eDkbF,CA/lCA,mHCgrBE,eDmbF,CAnmCA,2FCmrBE,eDobF,CAvmCA,6FCsrBE,eDqbF,CA3mCA,2FCyrBE,eDsbF,CA/mCA,6FC4rBE,eDubF,CAnnCA,mGC+rBE,eDwbF,CAvnCA,qGCksBE,eDybF,CA3nCA,mGCqsBE,eD0bF,CA/nCA,mGCwsBE,eD2bF,CAnoCA,uGC2sBE,eD4bF,CAvoCA,yFC8sBE,eD6bF,CA3oCA,2FCitBE,eD8bF,CA/oCA,+FCotBE,eD+bF,CAnpCA,uFCutBE,eDgcF,CAvpCA,uFC0tBE,eDicF,CA3pCA,yFC6tBE,eDkcF,CA/pCA,iHCguBE,eDmcF,CAnqCA,yHCmuBE,eDocF,CAvqCA,2GCsuBE,eDqcF,CA3qCA,mHCyuBE,eDscF,CA/qCA,qHC4uBE,eDucF,CAnrCA,6HC+uBE,eDwcF,CAvrCA,mGCkvBE,eDycF,CA3rCA,6FCqvBE,eD0cF,CA/rCA,2GCwvBE,eD2cF,CAnsCA,uGC2vBE,eD4cF,CAvsCA,6FC8vBE,eD6cF,CA3sCA,2FCiwBE,eD8cF,CA/sCA,+FCowBE,eD+cF,CAntCA,qGCuwBE,eDgdF,CAvtCA,6FC0wBE,eDidF,CA3tCA,yFC6wBE,eDkdF,CA/tCA,yFCgxBE,eDmdF,CAnuCA,2FCmxBE,eDodF,CAvuCA,6FCsxBE,eDqdF,CA3uCA,6FCyxBE,eDsdF,CA/uCA,yFC4xBE,eDudF,CAnvCA,uGC+xBE,eDwdF,CAvvCA,yGCkyBE,eDydF,CA3vCA,2GCqyBE,eD0dF,CA/vCA,uGCwyBE,eD2dF,CAnwCA,uGC2yBE,eD4dF,CAvwCA,uGC8yBE,eD6dF,CA3wCA,iGCizBE,eD8dF,CA/wCA,+FCozBE,eD+dF,CAnxCA,6FCuzBE,eDgeF,CAvxCA,qGC0zBE,eDieF,CA3xCA,iGC6zBE,eDkeF,CA/xCA,mGCg0BE,eDmeF,CAnyCA,2FCm0BE,eDoeF,CAvyCA,2FCs0BE,eDqeF,CA3yCA,iGCy0BE,eDseF,CA/yCA,iGC40BE,eDueF,CAnzCA,mGC+0BE,eDweF,CAvzCA,yGCk1BE,eDyeF,CA3zCA,uGCq1BE,eD0eF,CA/zCA,mGCw1BE,eD2eF,CAn0CA,mGC21BE,eD4eF,CAv0CA,mGC81BE,eD6eF,CA30CA,6GCi2BE,eD8eF,CA/0CA,mHCo2BE,eD+eF,CAn1CA,6GCu2BE,eDgfF,CAv1CA,yGC02BE,eDifF,CA31CA,yGC62BE,eDkfF,CA/1CA,6GCg3BE,eDmfF,CAn2CA,qFCm3BE,eDofF,CAv2CA,mGCs3BE,eDqfF,CA32CA,mGCy3BE,eDsfF,CA/2CA,iGC43BE,eDufF,CAn3CA,yFC+3BE,eDwfF,CAv3CA,2FCk4BE,eDyfF,CA33CA,2FCq4BE,eD0fF,CA/3CA,mGCw4BE,eD2fF,CAn4CA,yFC24BE,eD4fF,CAv4CA,2FC84BE,eD6fF,CA34CA,yFCi5BE,eD8fF,CA/4CA,6FCo5BE,eD+fF,CAn5CA,6FCu5BE,eDggBF,CAv5CA,yGC05BE,eDigBF,CA35CA,yFC65BE,eDkgBF,CA/5CA,qGCg6BE,eDmgBF,CAn6CA,uFCm6BE,eDogBF,CAv6CA,2FCs6BE,eDqgBF,CA36CA,2FCy6BE,eDsgBF,CA/6CA,mGC46BE,eDugBF,CAn7CA,yFC+6BE,eDwgBF,CAv7CA,mGCk7BE,eDygBF,CA37CA,qGCq7BE,eD0gBF,CA/7CA,iGCw7BE,eD2gBF,CAn8CA,6QCi8BE,eD8gBF,CA/8CA,8KCu8BE,eDghBF,CAv9CA,kLC68BE,eDkhBF,CA/9CA,2FCg9BE,eDmhBF,CAn+CA,mGCm9BE,eDohBF,CAv+CA,iHCs9BE,eDqhBF,CA3+CA,mGCy9BE,eDshBF,CA/+CA,mHC49BE,eDuhBF,CAn/CA,+GC+9BE,eDwhBF,CAv/CA,6GCk+BE,eDyhBF,CA3/CA,yGCq+BE,eD0hBF,CA//CA,uFCw+BE,eD2hBF,CAngDA,2FC2+BE,eD4hBF,CAvgDA,qGC8+BE,eD6hBF,CA3gDA,mGCi/BE,eD8hBF,CA/gDA,qGCo/BE,eD+hBF,CAnhDA,+GCu/BE,eDgiBF,CAvhDA,iHC0/BE,eDiiBF,CA3hDA,uHC6/BE,eDkiBF,CA/hDA,+HCggCE,eDmiBF,CAniDA,mHCmgCE,eDoiBF,CAviDA,2HCsgCE,eDqiBF,CA3iDA,qHCygCE,eDsiBF,CA/iDA,6GC4gCE,eDuiBF,CAnjDA,2GC+gCE,eDwiBF,CAvjDA,+GCkhCE,eDyiBF,CA3jDA,yGCqhCE,eD0iBF,CA/jDA,+FCwhCE,eD2iBF,CAnkDA,uGC2hCE,eD4iBF,CAvkDA,mGC8hCE,eD6iBF,CA3kDA,mGCiiCE,eD8iBF,CA/kDA,qGCoiCE,eD+iBF,CAnlDA,mGCuiCE,eDgjBF,CAvlDA,+FC0iCE,eDijBF,CA3lDA,mKCmjCE,6BAA8B,CAC9B,0BAA2B,CAC3B,qBDojBF,CAzmDA,qDCyjCE,yCAA6C,CAD7C,cDsjBF,CA9mDA,qDCgkCE,qBAAsB,CADtB,UAAc,CAHd,qDAA2D,CAC3D,cAAe,CACf,sBDwjBF,CAtnDA,sOCskCE,mBAAoB,CACpB,iBAAkB,CAClB,mBD0jBF,CAloDA,+CC2kCE,aAAc,CACd,oBD2jBF,CAvoDA,sHCglCE,aAAc,CACd,yBD6jBF,CA9oDA,2DColCE,yCAA0C,CAC1C,mBD8jBF,CAnpDA,yDCwlCE,QD+jBF,CAvpDA,mDC2lCE,qBDgkBF,CA3pDA,maCkmCE,aAAc,CAEd,WAAY,CADZ,cDskBF,CAzqDA,qECumCE,iBDskBF,CA7qDA,yEC4mCE,qBAAsB,CACtB,qBAAsB,CACtB,iBAAkB,CAIlB,oBAAqB,CAErB,WAAY,CATZ,sBAAuB,CAQvB,cAAe,CATf,WAAY,CAKZ,sCAAwC,CACxC,iCAAmC,CACnC,8BD0kBF,CA3rDA,mECunCE,iBDwkBF,CA/rDA,iDC4nCE,QAAS,CACT,yBAA6B,CAF7B,kBAAmB,CADnB,eD4kBF,CAtsDA,6DCsoCE,kBAAsB,CACtB,QAAS,CALT,UAAW,CAEX,WAAY,CACZ,eAAgB,CAFhB,SAAU,CAHV,iBAAkB,CAClB,SDglBF,CAjtDA,4LCgpCE,SAAU,CAHV,WAAY,CACZ,QAAS,CACT,gBAAiB,CAJjB,eAAgB,CAChB,UDglBF,CA5tDA,uECmpCE,cD6kBF,CAhuDA,wlBCoqCE,aAAc,CAHd,mBAAoB,CACpB,eAAgB,CAChB,eD0lBF,CA7vDA,w+CCgsCE,UAAc,CAFd,eAAgB,CAChB,aDknBF,CAjzDA,4SCysCE,kBAAmB,CADnB,eDwnBF,CAh0DA,ovBCutCE,aDmoBF,CA11DA,4SCguCE,kBAAmB,CADnB,eD0oBF,CAz2DA,ovBC8uCE,aDqpBF,CAn4DA,oGCkvCE,cDupBF,CAz4DA,oGCsvCE,cDypBF,CA/4DA,oGC0vCE,cD2pBF,CAr5DA,oGC8vCE,cD6pBF,CA35DA,oGCkwCE,cD+pBF,CAj6DA,oGCswCE,cDiqBF,CAv6DA,+CCywCE,eDkqBF,CA36DA,uDC6wCE,cAAe,CACf,eAAgB,CAChB,eAAgB,CAHhB,kBDsqBF,CCjqBA,gFAEI,cDoqBF,CACF,CAx7DA,gHCwxCE,aDsqBF,CA97DA,4GC6xCE,wBAAyB,CADzB,YDyqBF,CAr8DA,iECgyCE,eDyqBF,CAz8DA,mECmyCE,gBD0qBF,CA78DA,qECsyCE,iBD2qBF,CAj9DA,uECyyCE,kBD4qBF,CAr9DA,qEC4yCE,kBD6qBF,CAz9DA,2EC+yCE,wBD8qBF,CA79DA,2ECkzCE,wBD+qBF,CAj+DA,6ECqzCE,yBDgrBF,CAr+DA,mECwzCE,UDirBF,CAz+DA,uEC2zCE,aDkrBF,CA7+DA,0KC+zCE,aDorBF,CAn/DA,uECk0CE,aDqrBF,CAv/DA,0KCs0CE,aDurBF,CA7/DA,iECy0CE,aDwrBF,CAjgEA,8JC60CE,aD0rBF,CAvgEA,uECg1CE,aD2rBF,CA3gEA,0KCo1CE,aD6rBF,CAjhEA,qECu1CE,aD8rBF,CArhEA,sKC21CE,aDgsBF,CA3hEA,mEC+1CE,wBAAyB,CADzB,UDksBF,CAhiEA,kKCm2CE,wBDmsBF,CAtiEA,mECs2CE,wBDosBF,CA1iEA,kKC02CE,wBDssBF,CAhjEA,6DC62CE,wBDusBF,CApjEA,sJCi3CE,wBDysBF,CA1jEA,mECo3CE,wBD0sBF,CA9jEA,kKCw3CE,wBD4sBF,CApkEA,iEC23CE,wBD6sBF,CAxkEA,8JC+3CE,wBD+sBF,CA9kEA,qECo4CE,4BAAgC,CADhC,kBAAmB,CADnB,kBDktBF,CAplEA,kGCy4CE,kBAAmB,CADnB,YDmtBF,CA3lEA,4NC+4CE,eDstBF,CArmEA,yECm5CE,eAAgB,CADhB,cDwtBF,CA1mEA,qECu5CE,eAAgB,CAChB,gBAAiB,CAFjB,cD0tBF,CAhnEA,2EC25CE,oBAAqB,CAErB,gBAAiB,CADjB,iBD0tBF,CAtnEA,iDCi6CE,kBAAmB,CADnB,YD2tBF,CA3nEA,kGCq6CE,sBD4tBF,CAjoEA,iDCw6CE,eD6tBF,CAroEA,iDC26CE,aD8tBF,CC5tBA,wGAII,UAAW,CAFX,UAAW,CAIX,eAAgB,CADhB,gBAAiB,CAEjB,sBAAuB,CACvB,kBAAmB,CALnB,WDouBF,CCvuBF,+EAWI,iBDguBF,CACF,CAzpEA,kKC67CE,WDkuBF,CA/pEA,mECg8CE,aAAc,CACd,wBDmuBF,CApqEA,iECu8CE,0BAA8B,CAD9B,gBAAiB,CADjB,eAAgB,CADhB,iBDuuBF,CA3qEA,qRC48CE,eDuuBF,CAnrEA,2OCo9CE,UAAc,CAHd,aAAc,CACd,aAAc,CACd,sBD2uBF,CA9rEA,qRCy9CE,qBD6uBF,CAtsEA,0KCi+CE,aAAc,CADd,2BAA+B,CAF/B,cAAe,CADf,kBAAmB,CAEnB,gBDivBF,CAhtEA,kqBCy+CE,UDqvBF,CA9tEA,spBCi/CE,qBD2vBF,CA5uEA,2DCq/CE,iBAAkB,CAClB,sBAAuB,CAFvB,kBD8vBF,CAlvEA,gNC4/CE,uDDgwBF,CA5vEA,qDCkgDE,wBAAyB,CACzB,iBAAkB,CAFlB,aAAc,CADd,aAAc,CADd,eDqwBF,CApwEA,mDCygDE,qBAAsB,CACtB,iBAAkB,CAClB,iDAAsD,CACtD,yCAA8C,CAJ9C,UAAW,CADX,aAAc,CADd,eDwwBF,CA9wEA,2DCkhDE,uBAAwB,CACxB,eAAgB,CAHhB,cAAe,CACf,eAAgB,CAFhB,SDuwBF,CAtxEA,mDC6hDE,oBAAqB,CACrB,wBAAyB,CACzB,qBAAsB,CACtB,iBAAkB,CALlB,UAAc,CALd,aAAc,CAGd,cAAe,CACf,sBAAuB,CAFvB,eAAgB,CADhB,aAAc,CAKd,oBDwwBF,CApyEA,6DCuiDE,4BAA6B,CAC7B,eAAgB,CAHhB,aAAc,CADd,iBAAkB,CADlB,SAAU,CAGV,oBDuwBF,CA7yEA,2EC2iDE,gBAAiB,CACjB,iBDswBF,CAlzEA,iECkjDE,gBAAiB,CADjB,iBAAkB,CADlB,iBAAkB,CADlB,kBD0wBF,CCrwBA,0FAEI,WDwwBF,CACF,CCtwBA,0FAEI,WDywBF,CACF,CCvwBA,2FAEI,YD0wBF,CACF,CA30EA,6ECukDE,gBAAiB,CADjB,iBAAkB,CADlB,iBAAkB,CADlB,kBD8wBF,CAl1EA,qDC2kDE,iBAAkB,CADlB,kBD6wBF,CAv1EA,2EC+kDE,aAAc,CADd,cD8wBF,CA51EA,uGCmlDE,cAAe,CADf,eD+wBF,CAj2EA,w+FCsoDE,cAAe,CAEf,iBAAkB,CADlB,kBAAmB,CAFnB,iBDi0BF,CAt8EA,0vBCspDE,UD00BF,CAh+EA,iECypDE,UD20BF,CAp+EA,iEC4pDE,kBD40BF,CAx+EA,iEC+pDE,kBD60BF,CA5+EA,+DCkqDE,SD80BF,CAh/EA,+DCqqDE,kBD+0BF,CAp/EA,+DCwqDE,kBDg1BF,CAx/EA,+DC2qDE,SDi1BF,CA5/EA,+DC8qDE,kBDk1BF,CAhgFA,+DCirDE,kBDm1BF,CApgFA,+DCorDE,SDo1BF,CAxgFA,+DCurDE,kBDq1BF,CA5gFA,+DC0rDE,iBDs1BF,CAhhFA,2EC6rDE,UDu1BF,CAphFA,2ECgsDE,kBDw1BF,CAxhFA,2ECmsDE,kBDy1BF,CA5hFA,yECssDE,SD01BF,CAhiFA,yECysDE,kBD21BF,CApiFA,yEC4sDE,kBD41BF,CAxiFA,yEC+sDE,SD61BF,CA5iFA,yECktDE,kBD81BF,CAhjFA,yECqtDE,kBD+1BF,CApjFA,yECwtDE,SDg2BF,CAxjFA,yEC2tDE,kBDi2BF,CA5jFA,yEC8tDE,iBDk2BF,CAhkFA,yECiuDE,UDm2BF,CApkFA,2ECouDE,SDo2BF,CAxkFA,2ECuuDE,iBDq2BF,CA5kFA,2EC0uDE,iBDs2BF,CAhlFA,yEC6uDE,QDu2BF,CAplFA,yECgvDE,iBDw2BF,CAxlFA,yECmvDE,iBDy2BF,CA5lFA,yECsvDE,QD02BF,CAhmFA,yECyvDE,iBD22BF,CApmFA,yEC4vDE,iBD42BF,CAxmFA,yEC+vDE,QD62BF,CA5mFA,yECkwDE,iBD82BF,CAhnFA,yECqwDE,gBD+2BF,CApnFA,yECwwDE,SDg3BF,CAxnFA,+EC2wDE,gBDi3BF,CA5nFA,+EC8wDE,wBDk3BF,CAhoFA,+ECixDE,wBDm3BF,CApoFA,6ECoxDE,eDo3BF,CAxoFA,6ECuxDE,wBDq3BF,CA5oFA,6EC0xDE,wBDs3BF,CAhpFA,6EC6xDE,eDu3BF,CAppFA,6ECgyDE,wBDw3BF,CAxpFA,6ECmyDE,wBDy3BF,CA5pFA,6ECsyDE,eD03BF,CAhqFA,6ECyyDE,wBD23BF,CApqFA,6EC4yDE,uBD43BF,CAxqFA,6EC+yDE,aD63BF,CC33BA,mxBAaI,UDy4BF,CCt5BF,iEAgBI,UD04BF,CC15BF,iEAmBI,kBD24BF,CC95BF,iEAsBI,kBD44BF,CCl6BF,+DAyBI,SD64BF,CCt6BF,+DA4BI,kBD84BF,CC16BF,+DA+BI,kBD+4BF,CC96BF,+DAkCI,SDg5BF,CCl7BF,+DAqCI,kBDi5BF,CCt7BF,+DAwCI,kBDk5BF,CC17BF,+DA2CI,SDm5BF,CC97BF,+DA8CI,kBDo5BF,CCl8BF,+DAiDI,iBDq5BF,CCt8BF,2EAoDI,UDs5BF,CC18BF,2EAuDI,kBDu5BF,CC98BF,2EA0DI,kBDw5BF,CCl9BF,yEA6DI,SDy5BF,CCt9BF,yEAgEI,kBD05BF,CC19BF,yEAmEI,kBD25BF,CC99BF,yEAsEI,SD45BF,CCl+BF,yEAyEI,kBD65BF,CCt+BF,yEA4EI,kBD85BF,CC1+BF,yEA+EI,SD+5BF,CC9+BF,yEAkFI,kBDg6BF,CCl/BF,yEAqFI,iBDi6BF,CCt/BF,yEAwFI,UDk6BF,CC1/BF,2EA2FI,SDm6BF,CC9/BF,2EA8FI,iBDo6BF,CClgCF,2EAiGI,iBDq6BF,CCtgCF,yEAoGI,QDs6BF,CC1gCF,yEAuGI,iBDu6BF,CC9gCF,yEA0GI,iBDw6BF,CClhCF,yEA6GI,QDy6BF,CCthCF,yEAgHI,iBD06BF,CC1hCF,yEAmHI,iBD26BF,CC9hCF,yEAsHI,QD46BF,CCliCF,yEAyHI,iBD66BF,CCtiCF,yEA4HI,gBD86BF,CC1iCF,yEA+HI,SD+6BF,CC9iCF,+EAkII,gBDg7BF,CCljCF,+EAqII,wBDi7BF,CCtjCF,+EAwII,wBDk7BF,CC1jCF,6EA2II,eDm7BF,CC9jCF,6EA8II,wBDo7BF,CClkCF,6EAiJI,wBDq7BF,CCtkCF,6EAoJI,eDs7BF,CC1kCF,6EAuJI,wBDu7BF,CC9kCF,6EA0JI,wBDw7BF,CCllCF,6EA6JI,eDy7BF,CCtlCF,6EAgKI,wBD07BF,CC1lCF,6EAmKI,uBD27BF,CC9lCF,6EAsKI,aD47BF,CACF,CC17BA,mxBAaI,UDw8BF,CCr9BF,iEAgBI,UDy8BF,CCz9BF,iEAmBI,kBD08BF,CC79BF,iEAsBI,kBD28BF,CCj+BF,+DAyBI,SD48BF,CCr+BF,+DA4BI,kBD68BF,CCz+BF,+DA+BI,kBD88BF,CC7+BF,+DAkCI,SD+8BF,CCj/BF,+DAqCI,kBDg9BF,CCr/BF,+DAwCI,kBDi9BF,CCz/BF,+DA2CI,SDk9BF,CC7/BF,+DA8CI,kBDm9BF,CCjgCF,+DAiDI,iBDo9BF,CCrgCF,2EAoDI,UDq9BF,CCzgCF,2EAuDI,kBDs9BF,CC7gCF,2EA0DI,kBDu9BF,CCjhCF,yEA6DI,SDw9BF,CCrhCF,yEAgEI,kBDy9BF,CCzhCF,yEAmEI,kBD09BF,CC7hCF,yEAsEI,SD29BF,CCjiCF,yEAyEI,kBD49BF,CCriCF,yEA4EI,kBD69BF,CCziCF,yEA+EI,SD89BF,CC7iCF,yEAkFI,kBD+9BF,CCjjCF,yEAqFI,iBDg+BF,CCrjCF,yEAwFI,UDi+BF,CCzjCF,2EA2FI,SDk+BF,CC7jCF,2EA8FI,iBDm+BF,CCjkCF,2EAiGI,iBDo+BF,CCrkCF,yEAoGI,QDq+BF,CCzkCF,yEAuGI,iBDs+BF,CC7kCF,yEA0GI,iBDu+BF,CCjlCF,yEA6GI,QDw+BF,CCrlCF,yEAgHI,iBDy+BF,CCzlCF,yEAmHI,iBD0+BF,CC7lCF,yEAsHI,QD2+BF,CCjmCF,yEAyHI,iBD4+BF,CCrmCF,yEA4HI,gBD6+BF,CCzmCF,yEA+HI,SD8+BF,CC7mCF,+EAkII,gBD++BF,CCjnCF,+EAqII,wBDg/BF,CCrnCF,+EAwII,wBDi/BF,CCznCF,6EA2II,eDk/BF,CC7nCF,6EA8II,wBDm/BF,CCjoCF,6EAiJI,wBDo/BF,CCroCF,6EAoJI,eDq/BF,CCzoCF,6EAuJI,wBDs/BF,CC7oCF,6EA0JI,wBDu/BF,CCjpCF,6EA6JI,eDw/BF,CCrpCF,6EAgKI,wBDy/BF,CCzpCF,6EAmKI,uBD0/BF,CC7pCF,6EAsKI,aD2/BF,CACF,CCz/BA,oxBAaI,UDugCF,CCphCF,iEAgBI,UDwgCF,CCxhCF,iEAmBI,kBDygCF,CC5hCF,iEAsBI,kBD0gCF,CChiCF,+DAyBI,SD2gCF,CCpiCF,+DA4BI,kBD4gCF,CCxiCF,+DA+BI,kBD6gCF,CC5iCF,+DAkCI,SD8gCF,CChjCF,+DAqCI,kBD+gCF,CCpjCF,+DAwCI,kBDghCF,CCxjCF,+DA2CI,SDihCF,CC5jCF,+DA8CI,kBDkhCF,CChkCF,+DAiDI,iBDmhCF,CCpkCF,2EAoDI,UDohCF,CCxkCF,2EAuDI,kBDqhCF,CC5kCF,2EA0DI,kBDshCF,CChlCF,yEA6DI,SDuhCF,CCplCF,yEAgEI,kBDwhCF,CCxlCF,yEAmEI,kBDyhCF,CC5lCF,yEAsEI,SD0hCF,CChmCF,yEAyEI,kBD2hCF,CCpmCF,yEA4EI,kBD4hCF,CCxmCF,yEA+EI,SD6hCF,CC5mCF,yEAkFI,kBD8hCF,CChnCF,yEAqFI,iBD+hCF,CCpnCF,yEAwFI,UDgiCF,CCxnCF,2EA2FI,SDiiCF,CC5nCF,2EA8FI,iBDkiCF,CChoCF,2EAiGI,iBDmiCF,CCpoCF,yEAoGI,QDoiCF,CCxoCF,yEAuGI,iBDqiCF,CC5oCF,yEA0GI,iBDsiCF,CChpCF,yEA6GI,QDuiCF,CCppCF,yEAgHI,iBDwiCF,CCxpCF,yEAmHI,iBDyiCF,CC5pCF,yEAsHI,QD0iCF,CChqCF,yEAyHI,iBD2iCF,CCpqCF,yEA4HI,gBD4iCF,CCxqCF,yEA+HI,SD6iCF,CC5qCF,+EAkII,gBD8iCF,CChrCF,+EAqII,wBD+iCF,CCprCF,+EAwII,wBDgjCF,CCxrCF,6EA2II,eDijCF,CC5rCF,6EA8II,wBDkjCF,CChsCF,6EAiJI,wBDmjCF,CCpsCF,6EAoJI,eDojCF,CCxsCF,6EAuJI,wBDqjCF,CC5sCF,6EA0JI,wBDsjCF,CChtCF,6EA6JI,eDujCF,CCptCF,6EAgKI,wBDwjCF,CCxtCF,6EAmKI,uBDyjCF,CC5tCF,6EAsKI,aD0jCF,CACF,CAp2GA,uDC6yEE,4BD2jCF,CAx2GA,yFCizEE,oBAAqB,CACrB,UAAW,CAFX,eD8jCF,CA92GA,8KCuzEE,kBAAmB,CACnB,UAAW,CAFX,eDgkCF,CAt3GA,2DC6zEE,UAAc,CADd,kBAAmB,CADnB,eAAgB,CAGhB,eD+jCF,CA73GA,iDCi0EE,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,kBD6/EF,CC7gFF,+EAoBI,QAAS,CACT,mBAAoB,CAFpB,SDggFF,CCnhFF,qFAwBI,WD+/EF,CACF,CAt4RA,woFC06ME,WAAY,CADZ,aDgiFF,CAz8RA,ozCC47ME,UD+iFF,CA3+RA,uEC+7ME,aAAc,CAEd,gBAAiB,CADjB,iBDijFF,CAj/RA,mECo8ME,qBDijFF,CAr/RA,iECu8ME,oBDkjFF,CAz/RA,uDC08ME,sBDmjFF,CA7/RA,uDC68ME,uBDojFF,CAjgSA,iECg9ME,iBDqjFF,CArgSA,iECs9ME,4BAA6B,CAC7B,QAAS,CAHT,iBAAkB,CADlB,UAAW,CAEX,gBDwjFF,CA7gSA,2DC09ME,sBDujFF,CAjhSA,yDC69ME,cDwjFF,CCtjFA,cACE,kBDwjFF,CAxhSA,gwCCo/ME,sBDwkFF,CCtkFA,4FAEI,uBDykFF,CC3kFF,6EAKI,uBD0kFF,CC/kFF,uEAQI,2BD2kFF,CCnlFF,8IAYI,4BD6kFF,CC1kFF,+EAEI,uBD8kFF,CC3kFF,iFAEI,wBD+kFF,CC5kFF,6FAEI,8BDglFF,CAjBF,CC5jFA,kHAEI,uBDilFF,CCnlFF,6EAKI,uBDklFF,CCvlFF,uEAQI,2BDmlFF,CC3lFF,8IAYI,4BDqlFF,CCllFF,+EAEI,uBDslFF,CCnlFF,iFAEI,wBDulFF,CCplFF,6FAEI,8BDwlFF,CAjBF,CCpkFA,mHAEI,uBDylFF,CC3lFF,6EAKI,uBD0lFF,CC/lFF,uEAQI,2BD2lFF,CCnmFF,8IAYI,4BD6lFF,CC1lFF,+EAEI,uBD8lFF,CC3lFF,iFAEI,wBD+lFF,CC5lFF,6FAEI,8BDgmFF,CAjBF,CC5kFA,6FAEI,uBDimFF,CCnmFF,6EAKI,uBDkmFF,CCvmFF,uEAQI,2BDmmFF,CC3mFF,8IAYI,4BDqmFF,CClmFF,+EAEI,uBDsmFF,CCnmFF,iFAEI,wBDumFF,CCpmFF,6FAEI,8BDwmFF,CAjBF,CCplFA,0FAEI,sBDymFF,CACF,CCvmFA,gHAEI,sBD0mFF,CACF,CCxmFA,iHAEI,sBD2mFF,CACF,CCzmFA,2FAEI,sBD4mFF,CACF,CA5uSA,yECmoNE,sBD6mFF,CC3mFA,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","sources":["webpack://WebComponents/./ptxrs-bootstrap.less","webpack://WebComponents/./node_modules/bootstrap/dist/css/bootstrap.css","webpack://WebComponents/./runestone/common/css/runestone-custom-sphinx-bootstrap.css","webpack://WebComponents/./runestone/accessibility/css/accessibility.css","webpack://WebComponents/./runestone/common/css/user-highlights.css","webpack://WebComponents/./runestone/matrixeq/css/matrixeq.css","webpack://WebComponents/./runestone/webgldemo/css/webglinteractive.css","webpack://WebComponents/./runestone/common/css/presenter_mode.less","webpack://WebComponents/./runestone/common/css/presenter_mode.css"],"sourcesContent":[".ptx-runestone-container,\n.runestone-sphinx {\n @import (less) url(\"./node_modules/bootstrap/dist/css/bootstrap.css\");\n @import (less) url(\"./runestone/common/css/runestone-custom-sphinx-bootstrap.css\");\n @import (less) url(\"./runestone/accessibility/css/accessibility.css\");\n}\n\n:root {\n --background: #ffffff;\n --outerBackground: #eeeeee;\n --links: #0645ad;\n --bodyFont: var(--body-text-color, #000000);\n --tooltip: #ffffff;\n --grayToWhite: #333333;\n --navbar: #f8f8f8;\n --navbarFont: #707070;\n --navbarFontHover: #000000;\n --alerts: #d9edf7;\n --completionButton: #f19711;\n --completionButtonHover: #ff9f19;\n --completionButtonText: #000000;\n --admonition: #fcf8e3;\n --admonitionBorder: #fbeed5;\n --codeButtons: #474949;\n --codeButtonsBorder: #474949;\n --dangerAlerts: #f2dede;\n --successAlerts: #dff0d8;\n --contentWidthRegular: 660px;\n --contentWidthWide: 1060px;\n --componentBgColor: #f0f8ff;\n --componentBorderColor: #000000;\n --questionBgColor: #e1efff;\n --parsonsBgColor: #ffa;\n --parsonsBorderColor: #ee0;\n --parsonsCorrectBgColor: #dff0d8;\n --parsonsCorrectBorderColor: #ade595;\n --parsonsIncorrectBgColor: #f2dede;\n --parsonsIncorrectBorderColor: #f2b6b6;\n}\n\n:root.dark-mode {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: var(--body-text-color, #99aab5);\n --tooltip: #000000;\n --grayToWhite: #aaa;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --completionButtonText: #ffffff;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #67739d;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: var(--rs-component-bg, var(--knowl-background, #07467d));\n --componentBorderColor: var(--rs-component-border, var(--knowl-border-color, #939090));\n --questionBgColor: var(--rs-component-bg, var(--knowl-nested-1-background, #0f5a9b));\n --parsonsBgColor: rgb(232, 232, 178);\n --parsonsBorderColor: rgb(168, 168, 45);\n --parsonsCorrectBgColor: #a3c097;\n --parsonsCorrectBorderColor: #60904c;\n --parsonsIncorrectBgColor: #ae9090;\n --parsonsIncorrectBorderColor: #c16b6b;\n}\n\n[data-theme=\"dark\"] {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: #99aab5;\n --tooltip: #000000;\n --grayToWhite: #ffffff;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --completionButtonText: #ffffff;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #7289da;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: #07467d;\n --componentBorderColor: #939090;\n --questionBgColor: rgb(23, 85, 93);\n}\n\n#scprogresscontainer {\n width: 100%;\n max-width: 500px;\n margin: 10px auto;\n}\n\n#subchapterprogress {\n width: 100%;\n background-color: var(--alerts);\n border: 1px solid var(--grayToWhite);\n border-radius: 5px;\n height: 20px;\n position: relative;\n}\n\n\n.exercise-statement {\n display: block;\n margin-bottom: 1em;\n}\n","/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n -moz-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"../fonts/glyphicons-halflings-regular.eot\");\n src: url(\"../fonts/glyphicons-halflings-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/glyphicons-halflings-regular.woff2\") format(\"woff2\"), url(\"../fonts/glyphicons-halflings-regular.woff\") format(\"woff\"), url(\"../fonts/glyphicons-halflings-regular.ttf\") format(\"truetype\"), url(\"../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\") format(\"svg\");\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: 400;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: \"\\2014 \\00A0\";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: \"\";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: \"\\00A0 \\2014\";\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n.row-no-gutters [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1,\n .col-sm-2,\n .col-sm-3,\n .col-sm-4,\n .col-sm-5,\n .col-sm-6,\n .col-sm-7,\n .col-sm-8,\n .col-sm-9,\n .col-sm-10,\n .col-sm-11,\n .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1,\n .col-md-2,\n .col-md-3,\n .col-md-4,\n .col-md-5,\n .col-md-6,\n .col-md-7,\n .col-md-8,\n .col-md-9,\n .col-md-10,\n .col-md-11,\n .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1,\n .col-lg-2,\n .col-lg-3,\n .col-lg-4,\n .col-lg-5,\n .col-lg-6,\n .col-lg-7,\n .col-lg-8,\n .col-lg-9,\n .col-lg-10,\n .col-lg-11,\n .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: 0.01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: 700;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n opacity: 0.65;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n background-image: none;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: 400;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n -o-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n -o-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n -o-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: 400;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n border-top: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: 15px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@-o-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n -webkit-background-size: 40px 40px;\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #eeeeee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 12px;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: -webkit-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: \"\\2039\";\n}\n.carousel-control .icon-next:before {\n content: \"\\203a\";\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/* Variables holding theme colors */\n:root {\n --background: #ffffff;\n --outerBackground: #eeeeee;\n --links: #0645ad;\n --bodyFont: #000000;\n --tooltip: #ffffff;\n --grayToWhite: #333333;\n --navbar: #f8f8f8;\n --navbarFont: #707070;\n --navbarFontHover: #000000;\n --alerts: #d9edf7;\n --completionButton: #f19711;\n --completionButtonHover: #ff9f19;\n --admonition: #fcf8e3;\n --admonitionBorder: #fbeed5;\n --codeButtons: #474949;\n --codeButtonsBorder: #474949;\n --dangerAlerts: #f2dede;\n --successAlerts: #dff0d8;\n --contentWidthRegular: 660px;\n --contentWidthWide: 1060px;\n --componentBgColor: #f0f8ff;\n --componentBorderColor: #000000;\n --questionBgColor: #e1efff;\n}\n\n/* @media (prefers-color-scheme: dark) {\n :root {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: #99aab5;\n --tooltip: #000000;\n --grayToWhite: #ffffff;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #7289da;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: #07467d;\n --componentBorderColor: #939090;\n --questionBgColor: rgb(23, 85, 93);\n }\n}\n\nNeeded??? */\n[data-theme=\"dark\"] {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: #99aab5;\n --tooltip: #000000;\n --grayToWhite: #ffffff;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #7289da;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: #07467d;\n --componentBorderColor: #939090;\n --questionBgColor: rgb(23, 85, 93);\n}\n\n/* for assignment navigation */\ndiv.assignment-nav {\n background-color: var(--componentBgColor);\n border-style: solid;\n border-color: var(--componentBorderColor);\n border-width: 1px;\n padding-bottom: 5px;\n padding-top: 5px;\n\n}\n\n/* custom modification of basic.css for color-contrast (AA compliant) */\ntd.linenos pre {\n color: #6b6b6b;\n}\n\n/* custom modification of prettify.css for color-contrast (AA compliant) */\n.str {\n color: #006b00;\n}\n\n/* custom modification of parsons.css for color-contrast (AA compliant) */\n.parsons .block {\n background-color: #fafafa;\n}\n\n/* custom modification of pygments.css for color-contrast (AA compliant) */\n.highlight .c1 {\n color: #376a7b;\n}\n\n.highlight .nn {\n color: #0f6c95;\n}\n\n.highlight .gp {\n color: #a14c08;\n}\n\n.highlight .si {\n color: #3c773d;\n}\n\n.highlight .nc {\n color: #0b719d;\n}\n\n/* `Search` functionality's result custom modification for color-contrast (AA compliant) */\nul.search li div.context {\n color: #6b6b6b;\n}\n\nspan.highlighted {\n color: #4d4d4d;\n}\n\n/* ActiveCode gutter custom modification for color-contrast (AA compliant) */\n\n.CodeMirror-linenumber {\n color: #6b6b6b;\n}\n\n.alert-warning {\n background-color: var(--admonition);\n border-color: var(--admonitionBorder);\n}\n\n/* Python code output custom modification for color-contrast (AA compliant) */\ndiv.ExecutionVisualizer table#pyCodeOutput .lineNo {\n color: #6b6b6b;\n}\n\n/* Runestone custom modifications */\n\nbody {\n counter-reset: rscomponent;\n padding-top: 60px;\n background-color: var(--outerBackground);\n}\n\nh5 {\n font-weight: bold;\n padding: 10px 0;\n}\n\n/* table-of-contents related styles for color-contrast (AA compliant) */\n#table-of-contents a {\n color: var(--links);\n}\n\n#table-of-contents a:hover {\n color: var(--links);\n text-decoration: underline;\n}\n\n#table-of-contents.section {\n font-size: 16px;\n}\n\n/* navbar-brand color contrast (AA compliant) */\n.navbar-default {\n background-color: var(--navbar);\n}\n\n.navbar-default .navbar-nav > li {\n color: var(--navbarFont);\n}\n\n.navbar-default .navbar-nav > li > a {\n color: var(--navbarFont);\n}\n\n.navbar-default .navbar-nav > li > a:hover {\n color: var(--navbarFontHover);\n}\n\n.navbar-default .navbar-brand {\n color: var(--navbarFont);\n}\n\n/* acknowledgement related styles for color-contrast (AA compliant) */\n.toctree-wrapper {\n font-size: 16px;\n}\n\n.toctree-wrapper a {\n color: var(--links);\n}\n\n.toctree-wrapper a:hover {\n color: var(--links);\n text-decoration: underline;\n}\n\n/* index and search related styles for color-contrast (AA compliant) */\n#index-and-search.section {\n font-size: 16px;\n}\n\n#index-and-search.section a {\n color: var(--links);\n}\n\n#index-and-search.section a:hover {\n color: var(--links);\n text-decoration: underline;\n}\n\n/* custom style for `a` tag for color-contrast (AA compliant) */\n\na {\n color: var(--links);\n}\n\n/* navbar and menu related styles */\n@media (max-width: 768px) {\n /* Remove top padding when top navbar goes collapsed in narrow viewports */\n body {\n padding-top: 0;\n }\n\n .navbar-fixed-top {\n position: static;\n }\n}\n\n@media (min-width: 768px) {\n /* when navbar is collapsed we don't want any vertical dividers taking up space */\n .navbar .divider-vertical {\n margin: 0 3px;\n border-left: 1px solid #f2f2f2;\n }\n\n .navbar-fixed-top .container {\n padding: 0;\n }\n}\n\ndiv.container {\n background-color: var(--background);\n}\n\n.container {\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.runestone {\n clear: both;\n background-color: var(--componentBgColor);\n padding: 15px;\n border-style: solid;\n border-color: var(--componentBorderColor);\n border-radius: 10px;\n margin-bottom: 20px;\n margin-top: 20px;\n }\n\n/* Sets width of content \"column\" */\n#main-content section > *:not(section) {\n max-width: var(--contentWidthRegular);\n margin-left: auto;\n margin-right: auto;\n\n}\n\n/* Handle content in nested sections by allowing them to grow*/\n#main-content section > section,\n/* And then make sure a few items are wider by default */\n#main-content section > .runestone.ac_section,\n#main-content section > .runestone.codelens,\n#main-content section > .question,\n#main-content section > .runestone.parsons-container,\n#main-content section > .runestone.parsons-problems,\n#main-content section > .codelens,\n#main-content section > .timedAssessment,\n#main-content section > .jupyterlite_sphinx_iframe_container\n{\n max-width: var(--contentWidthWide);\n margin-left: auto;\n margin-right: auto;\n}\n\n/* Allow individual elements to request being larger */\n#main-content section > .full-width {\n max-width: var(--contentWidthWide);\n}\n\n.container section > img {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\n.container-fluid > .navbar-collapse,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container > .navbar-header {\n margin-left: 0;\n margin-right: 0;\n}\n\n.navbar > .container .navbar-brand {\n margin-left: 0;\n}\n\n.navbar > .container {\n background-color: var(--navbar);\n}\n\n.navbar-toggle {\n margin-right: 0px;\n}\n\n.footer > .container {\n background-color: var(--outerBackground);\n}\n\n.footer > .container p > a {\n color: var(--links);\n}\n\n.brand-logo {\n float: left;\n display: block;\n margin-top: 4px;\n}\n\n.brand-logo img {\n height: 40px;\n}\n\n.social-menu {\n width: 220px;\n padding: 10px 10px 15px 20px;\n}\n\n.fb-like {\n margin-top: 7px;\n}\n\n.fb_iframe_widget span,\n.fb_iframe_widget iframe {\n height: 20px !important;\n width: 82px !important;\n}\n\n.twitter-follow-button {\n margin-top: 10px;\n}\n\n.gittip {\n margin-top: 8px;\n}\n\n.gittip-button {\n margin-bottom: -6px;\n}\n\n.dropdown-menu > li > span,\n.dropdown-menu > li > div,\n.dropdown-menu > li > label {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: bold;\n line-height: 20px;\n color: var(--grayToWhite);\n white-space: nowrap;\n}\n\n.dropdown-menu > li > label:hover, .dropdown-menu > li > label:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n\n.dropdown-menu > li > a {\n color: var(--grayToWhite);\n}\n\n.loggedinuser {\n font-weight: bold;\n}\n\n/* end navbar and menu related styles */\n.CodeMirror {\n margin: 0 0 1em 0;\n background-color: var(--background);\n clear: both;\n}\n\n.ac_section .CodeMirror pre {\n -moz-border-radius: 0;\n -webkit-border-radius: 0;\n -o-border-radius: 0;\n border-radius: 0;\n border-width: 0;\n margin: 0;\n padding: 0;\n background: transparent;\n font-family: Menlo, Monaco, Consolas,\"Courier New\", monospace;\n font-size: inherit;\n padding: 0;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n}\n\nbutton.btn,\nbtn.btn-sm,\ninput[type=\"submit\"].btn.btn-sm,\ninput[type=\"button\"].btn.btn-sm {\n font-size: 1em;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n\n/* Fix search menu button */\n.dropdown-menu .input-group .input-group-btn button.btn {\n font-size: 14px;\n}\n\n.btn {\n margin: 5px;\n}\n\n.btn.disabled {\n /* needed in Bootstrap 3 to allow tooltips on disabled buttons */\n pointer-events: auto;\n}\n\n.btn-default,\n.btn-default.disabled,\n.btn-default[disabled],\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover {\n color: #ffffff;\n background-color: var(--codeButtons);\n border-color: var(codeButtonsBorder);\n}\n\n.btn-default:hover,\n.btn-default:focus,\n.btn-default:active,\n.btn-default.active {\n background-color: #3a3c3c;\n border-color: #2e2f2f;\n color: #ffffff;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin-right: 5px;\n}\n\n.tooltip {\n z-index: 2000 !important;\n}\n\n.tooltip.in {\n opacity: 0.8;\n filter: alpha(opacity=80);\n}\n\nh2 {\n margin-top: 20px;\n}\n\n.alert form {\n margin-bottom: 0;\n}\n\n/* default bookstrap alert color is hard to read (low contrast). */\n.alert {\n color: var(--grayToWhite);\n padding: 10px;\n}\n\n.alert-info {\n background-color: var(--alerts);\n}\n\n.alert-danger {\n background-color: var(--dangerAlerts);\n}\n\n.alert-success {\n background-color: var(--successAlerts);\n}\n\n/* override the color styles applied by Skulpt to the unittest results divs */\n.unittest-results.alert-danger {\n background-color: var(--dangerAlerts) !important;\n}\n\n.unittest-results.alert-success {\n background-color: var(--successAlerts) !important;\n}\n\n.alert label {\n font-weight: normal;\n}\n\n.navbar_message {\n margin-top: 15px;\n font-weight: bold;\n}\n/*\nMissing brackets\n================\nThe default styling from Sphinx's ``basic.css`` doesn't style multiple references to the same reference with brackets. Here's the relevant snippet of CSS:\n\n.. code-block:: CSS\n :number-lines:\n\n a.brackets:before,\n span.brackets > a:before{\n content: \"[\";\n }\n\n a.brackets:after,\n span.brackets > a:after {\n content: \"]\";\n }\n\nThe HTML for a footnote reference is:\n\n.. code-block:: HTML\n :number-lines:\n\n 2\n\nThe HTML for a typical footnote is:\n\n.. code-block:: HTML\n :number-lines:\n\n
    \n
    \n \n 1\n \n
    \n
    Omitted this...
    \n
    \n\nThe HTML for a footnote referenced multiple times is:\n\n.. code-block:: HTML\n :number-lines:\n\n
    \n
    \n 1\n \n (1,2,3)\n \n
    \n
    Omitted this...
    \n
    \n\nHowever, there's no (current) CSS selector that will add a ``content`` to the multiply-referenced footnote without adding an additional ``content`` to the typical footnote: we want to select ``dt.label > span.brackets > text-only content`` or ``dt.label > span.brackets > :not(:has a)`` (see the unsupported `:has selector `_. So, I see no solution for this (outside JS).\n\n\nIncorrect color\n===============\nSecond, the Bootstrap theme (v3.4.1) contains the following CSS, from ``node_modules/bootstrap/dist/css/less/labels.less``:\n\n.. code-block:: CSS\n :number-lines:\n\n .label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n ...more here omitted...\n }\n\nALL this therefore gets applied to footnotes, since they have the ``label`` class. Because the ``@label-color`` is white, this CSS makes the reference invisible against the default (light mode) white background. I like the rest of the styling changes (even though they differ from the standard Sphinx settings), so only the color is changed.\n*/\ndt.label > span.brackets:not(span.brackets > a),\ndt.label > span.fn-backref:not(span.fn-backref > a) {\n color: black;\n}\n\n/* These admonition styles styles are copied from the Bootstrap .alert classes.\n Most of the !important declarations are to override the Sphinx basic.css styles */\n.admonition {\n padding: 8px 35px 8px 14px !important;\n margin-bottom: 20px !important;\n margin-top: 20px !important;\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n background-color: var(--admonition);\n border: 1px solid #fbeed5;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n border-radius: 4px;\n}\n\n/* .alert-danger */\n.admonition.caution {\n color: #a33f3e;\n background-color: #f2dede;\n border-color: #eed3d7;\n}\n\n/* .alert-info */\n.admonition.tip,\n.admonition.note {\n color: #333;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n\n/* from web2py.css */\ndiv.flash {\n font-weight: bold;\n position: fixed;\n padding: 10px;\n top: 55px;\n right: 45px;\n opacity: 0.95;\n margin: 0 0 10px 10px;\n vertical-align: middle;\n cursor: pointer;\n color: #ffffff;\n background-color: #000;\n border: 2px solid #fff;\n border-radius: 8px;\n -moz-border-radius: 8px;\n -webkit-border-radius: 8px;\n background-image: -webkit-linear-gradient(top, #222, #000);\n background-image: -o-linear-gradient(top, #222, #000);\n background-image: -moz-linear-gradient(90deg, #222, #000);\n background-image: linear-gradient(top, #222, #000);\n background-repeat: repeat-x;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n z-index: 2000;\n}\n\n/* Styles for the login, registration, and Janrain forms */\n#web2py_user_form {\n margin-top: 10px;\n}\n\n#web2py_user_form form {\n float: left;\n margin-right: 150px;\n padding-top: 3px;\n}\n\n#web2py_user_form td {\n padding-bottom: 15px;\n}\n\n#web2py_user_form td.w2p_fw {\n width: 299px;\n}\n\n#auth-actions {\n margin-top: 50px;\n}\n\n#sign_in_text td {\n font-size: 17px;\n color: #333;\n font-family: \"lucida grande\", Verdana, sans-serif;\n padding-bottom: 13px;\n}\n\n#auth_user_remember {\n margin-top: -20px;\n}\n\n/* End login, registration, Janrain styles */\n\n/* end-of-chapter exercises styles */\n#exercises > ol > li,\n#programming-exercises > ol > li {\n margin-bottom: 30px;\n}\n\n#exercises > ol > li:nth-child(even),\n#programming-exercises > ol > li:nth-child(even) {\n padding: 1.2em 1.4em;\n background: #faf7df;\n border: 1px solid #fbeed5;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n border-radius: 4px;\n}\n\n/* End chapter exercises styles */\n\n/* Modal dialog styles (scratch activecode, compare me, etc) */\n.scratch-ac-modal {\n width: 90%;\n max-height: 90%;\n overflow-y: scroll;\n}\n\n.compare-modal .progress {\n margin-bottom: 0;\n}\n\n.compare-me-progress {\n width: 100%;\n}\n\n.compare-me-progress .progress-bar,\n.unittest-results-progress .progress-bar {\n color: #333;\n}\n\n\n.unittest-results-progress {\n width: 25%;\n}\n\n.compare-modal {\n width: 350px;\n}\n\n.compare-modal table {\n border-collapse: separate;\n border-spacing: 10px 5px;\n}\n\n.codelens-modal {\n /* we set some custom position styles so that the modal doesn't obscure the codelens visualizer */\n top: 20%;\n right: 20%;\n left: auto;\n bottom: auto;\n}\n\n@media (max-width: 768px) {\n /* remove any custom position styles when the screen is small (mobile devices)\n to prevent the modal from being partially off the screen */\n .codelens-modal {\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n left: 0 !important;\n }\n}\n\n.codelens-modal > .modal-dialog {\n width: 400px;\n}\n\n/* End modal dialog styles */\n\n.footnote.table {\n width: auto;\n margin-bottom: 10px;\n}\n\n.footnote.table td.label {\n padding: 2px 5px 2px 5px;\n background-color: #d9edf7;\n}\n\n.ac-canvas {\n background-color: white;\n display: inline-block;\n}\n\n.video-play-overlay {\n position: relative;\n top: -150px;\n left: 44%;\n height: 85px;\n width: 130px;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n.video_popup video {\n width: var(--contentWidthRegular);\n cursor: pointer;\n}\n\n.ui-sortable-helper {\n height: auto !important;\n width: auto !important;\n}\n\n.navLink {\n z-index: 2;\n display: inline;\n bottom: 65px;\n position: fixed;\n opacity: 0.4;\n}\n\n.navLink:hover {\n opacity: 1;\n}\n\n.navLink a {\n display: inline-block;\n background-color: white;\n border-style: solid;\n border-color: lightgrey;\n border-width: 2px;\n width: 100px;\n height: 50px;\n}\n\n#relations-next {\n right: 35px;\n}\n\n#relations-prev {\n left: 35px;\n}\n\n.nextprev-list {\n margin: 10px;\n padding-left: 0;\n height: 50px;\n}\n\n@media (max-width: 600px) {\n .navLink {\n display: inline-block;\n bottom: auto;\n position: absolute;\n }\n\n #relations-next,\n #relations-prev {\n width: 25%;\n padding: 0 20px;\n display: inline;\n }\n}\n\n#completionButton {\n margin-top: 25px;\n margin-bottom: 15px;\n padding-left: 70px;\n padding-right: 70px;\n color: var(--completionButtonText);\n font-weight: bold;\n}\n\n.buttonAskCompletion {\n background-color: var(--completionButton);\n border-color: var(--completionButtonHover);\n font-weight: bold;\n}\n\n.buttonAskCompletion:hover {\n background-color: var(--completionButtonHover);\n border-color: var(--completionButtonHover);\n}\n\n.buttonConfirmCompletion {\n background-color: #377e22;\n border-color: #3dc682;\n color: #ffffff !important;\n}\n\n.buttonConfirmCompletion:hover {\n background-color: #3dc682;\n border-color: #3dc682;\n}\n\n.navLinkBg {\n height: 40px;\n background-color: #ffffff;\n z-index: 1;\n position: fixed;\n bottom: 55px;\n color: #999;\n font-weight: bold;\n -webkit-box-shadow: 0px 0px 3px rgba(50, 50, 50, 0.5);\n -moz-box-shadow: 0px 0px 3px rgba(50, 50, 50, 0.5);\n box-shadow: 0px 0px 3px rgba(50, 50, 50, 0.5);\n}\n\n.navLinkBg:hover {\n color: #999;\n}\n\n#navLinkBgRight {\n right: -1000px;\n padding: 10px 15px 0 65px;\n}\n\n#navLinkBgLeft {\n left: -65px;\n padding-left: 15px;\n padding-right: 50px;\n}\n\n.activehtml {\n width: 100%;\n height: 400px;\n background-color: #ffffff;\n}\n\n.container section > div.sidebar {\n margin: 0 0 0.5em 1em;\n}\n\na.disqus_thread_link {\n display: block;\n}\n\n.reveal_button {\n display: block;\n margin-left: 0;\n}\n\niframe[seamless] {\n display: block;\n}\n\n@media (min-width: 768px) {\n .container section > div.sidebar {\n margin: 0 3em 0.5em 1em;\n }\n}\n\n@media (min-width: 992px) {\n .container section > div.sidebar {\n margin: 0 11em 0.5em 1em;\n }\n}\n\n@media (min-width: 1200px) {\n .container section > div.sidebar {\n margin: 0 18em 0.5em 1em;\n }\n}\n\ndiv.ExecutionVisualizer table.visualizer {\n width: auto;\n margin-left: auto;\n margin-right: auto;\n background-color: #ffffff;\n}\n\n.sltooltip {\n position: absolute;\n z-index: 1020;\n display: block;\n padding-bottom: 5px;\n font-size: 11px;\n visibility: visible;\n margin-top: -2px;\n bottom: 120%;\n margin-left: -2em;\n}\n\n.sltooltip .sltooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-top: 5px solid #000000;\n border-right: 5px solid transparent;\n border-left: 5px solid transparent;\n position: absolute;\n width: 0;\n height: 0;\n}\n\n.sltooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: var(--tooltip);\n text-align: center;\n text-decoration: none;\n background-color: #000000;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n border-radius: 4px;\n}\n\nul.dropdown-menu.globaltoc {\n max-height: 700px;\n overflow: auto;\n}\n\n.globaltoc span.caption-text {\n display: inline-block;\n font-weight: bold;\n font-size: large;\n}\n\n/* Style lp textareas. */\ntextarea.lp-result {\n width: 100%;\n height: 10em;\n font-family: monospace;\n}\n\n/*\n * Hide only visually, but have it available for screen readers:\n * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility\n *\n * 1. For long content, line feeds are not interpreted as spaces and small width\n * causes content to wrap 1 word per line:\n * https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n */\n\n.visuallyhidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n white-space: nowrap;\n /* 1 */\n}\n\n/*\n * Extends the .visuallyhidden class to allow the element\n * to be focusable when navigated to via the keyboard:\n * https://www.drupal.org/node/897638\n */\n\n.visuallyhidden.focusable:active,\n.visuallyhidden.focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n white-space: inherit;\n}\n\n.blockquote {\n text-align: center;\n font-size: large;\n font-style: italic;\n padding-left: 2em;\n padding-right: 2em;\n}\n\n\n#subchapterprogress.ui-progressbar .ui-progressbar-value {\n margin: 0;\n border-radius: 0px;\n}\n\n#subchapterprogress > div {\n background: green;\n}\n\n#subchapterprogress > div.loggedout {\n background: lightgray;\n}\n\n.runestone_caption {\n text-align: center;\n}\n\n.runestone_caption_divid {\n opacity: 50%;\n}\n\n#questions .runestone_caption:before {\n counter-increment: rscomponent;\n content: \"Problem: \" counter(rscomponent) \" -- \";\n}\n\nbody {\n color: var(--bodyFont);\n}\n\n.jupyter_container .output {\n margin-top: 10px;\n}\n\n.jupyter_container .output td {\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.jupyter_container .output th {\n padding-left: 5px;\n padding-right: 5px;\n}\n\n/*Theme toggle*/\n.dropdown-menu > li > label.theme-switch {\n display: flex;\n align-items: center;\n font-weight: normal;\n cursor: pointer;\n}\n\n.theme-switch input {\n display: none;\n}\n\n.theme-switch .slider {\nbackground-color: #ccc;\nheight: 1.25em;\nwidth: 2em;\ntransition: 0.4s;\nposition: relative;\nmargin-right: 3px;\n}\n\n.theme-switch .slider:before {\n background-color: #fff;\n bottom: 2px;\n content: \"\";\n height: calc(1.25em - 4px);\n left: 2px;\n position: absolute;\n transition: 0.4s;\n width: calc(1.25em - 4px);\n}\n\n.theme-switch input:checked + .slider {\n background-color: #66bb6a;\n}\n\n.theme-switch input:checked + .slider:before {\n transform: translateX( calc(0.75em - 1px) );\n}\n\n.theme-switch .slider.round {\n border-radius: 1.25em;\n}\n\n.theme-switch .slider.round:before {\n border-radius: 1.25em;\n}\n/*End theme toggle*/\n\n/* for ads */\n.adcopy {\n width: 60%;\n background-color: #f2e0c3;\n padding: 10px;\n margin-left: auto;\n margin-right: auto;\n margin-top: 10px;\n border: solid black 2px;\n border-radius: 10px;\n}\n\n.adcopy .donateb {\n\n margin-left: 30%;\n}\n\n.isCorrect:before {\n /*content: url(https://em-content.zobj.net/thumbs/240/apple/325/check-mark_2714-fe0f.png);*/\n content: \"✅ \";\n float:right;\n padding-left: 4px;\n}\n\n.isInCorrect:before {\n /*content: url(https://em-content.zobj.net/thumbs/240/apple/325/check-mark_2714-fe0f.png);*/\n content: \"⚠️ \";\n float:right;\n padding-left: 4px;\n}\n\n/* ---------------------------------------------------------- */\n/* Redo some PreTeXt styles undone by Bootstrap */\npre {\n color: inherit;\n background: inherit;\n}\n\nsummary.ptx-footnote__number {\n display: inline;\n}\n\nsummary.knowl__link {\n display: list-item inline;\n}\n\ndetails.ptx-footnote {\n display: inline;\n}\n/* ---------------------------------------------------------- */\n\n.handsontable td, .handsontable th {\n background-color: var(--content-background, #fff);\n color: var(--bodyFont, #000);\n}\n\n\nlegend {\n /* allow darkmode to override legend color */\n color: var(--grayToWhite, #333);\n border-bottom-color: var(--grayToWhite, #333);\n}\n\n.autopermalink {\n display: none;\n}","/*\n**********************************************\n|docname| - a WCAG 2.0 AA compliant stylesheet\n**********************************************\n*/\n\n/* Variables holding theme colors */\n:root {\n\t--codebuttons: #474949;\n}\n[data-theme=\"dark\"] {\n\t--codebuttons: #2c0aa6;\n}\n/*Navigation Tabbing Styling*/\nli.dropdown.open a.dropdown-toggle, li.dropdown.open a.dropdown-toggle:focus {\n\tborder:0px !important;\n\t/*background-color: #346A6E!important;*/\n\tbackground-color: #2A5659 !important;\n\tcolor:#F8F8F8 !important;\n}\na.dropdown-toggle:focus {\n\t /*border:1px solid #5B9DD9 !important;\n\t color:#5B9DD9 !important;\n\t width:48px !important;*/\n\t background-color: #52A6AC!important;\n\t color:#F8F8F8 !important;\n}\n/* Border Manipulation */\nli.divider-vertical {\n\tmargin:0px !important;\n}\nli.dropdown a.dropdown-toggle {\n\tpadding:15px 18px !important;\n}\n\n/*\nBootstrap button styling\n*/\n\n/* Default Button */\n/* Passes WCAG 2.0 */\nbutton.btn.btn-default:active {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default:focus {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default{\n\tcolor:#FFFFFF !important;\n\tbackground-color: rgb(71, 73, 73) !important;\n}\nbutton.btn.btn-default.btn-sm.disabled:active {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default.btn-sm.disabled:focus {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default.btn-sm.disabled{\n\tcolor:#FFFFFF !important;\n\tbackground-color:#474949 !important;\n}\n/* Sucess Button */\n/* Failed WCAG 2.0, #255425 passes */\nbutton.btn.btn-success:active {\n\tcolor:#427e44 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-success:focus {\n\tcolor:#427e44!important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-success {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#427e44!important;\n}\n\n/*Primary Button*/\n/* fails WCAG 2.0, #265986 passes */\nbutton.btn.btn-primary:active {\n\tcolor:#3379b6!important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-primary:focus {\n\tcolor:#3379b6 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-primary {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#3379b6 !important;\n}\n\n\n/*Info Button */\n/* Fails, WCAG 2.0, #155569 passes*/\nbutton.btn.btn-info:active {\n\tcolor:#1a6a83!important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-info:focus {\n\tcolor:#1a6a83 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-info{\n\tcolor:#FFFFFF !important;\n\tbackground-color:#1a6a83 !important;\n}\n\n/*Warning Button*/\n/*Fails WCAG 2.0, #794b0b*/\nbutton.btn.btn-warning:active {\n\tcolor:#945c0e !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-warning:focus {\n\tcolor:#945c0e !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-warning {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#945c0e !important;\n}\n\n/*Danger Button */\n/*Fails, #a62924 passes*/\nbutton.btn.btn-danger:active {\n\tcolor:#d33a35 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-danger:focus {\n\tcolor:#d33a35 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-danger{\n\tcolor:#FFFFFF !important;\n\tbackground-color:#d33a35 !important;\n}\n\n/*Link Button*/\n/*Fails AAA, passes with #265986*/\nbutton.btn.btn-link:active {\n\tcolor:#FFFFFF!important;\n\tbackground-color:#1a6a83 !important;\n}\nbutton.btn.btn-link:focus {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#1a6a83 !important;\n}\nbutton.btn.btn-link {\n\tcolor:#1a6a83 !important;\n\tbackground-color:#FFFFFF !important;\n}","/* Variables holding theme colors */\n:root {\n\t--menu: #FFFFFF;\n}\n\n[data-theme=\"dark\"] {\n\t--menu: #000000;\n}\n\n.my-highlighted-text{\n\tbackground-color:#FFFF99;\n}\n.social-highlighted-text{\n\tbackground-color:#FFCCCC;\n}\n.highlight-option-box{\n\tposition:absolute;\n\ttop:0px;\n\tleft:0px;\n}\n.highlight-option-box li{ \n\theight:24px;\n}\n#continue-reading{\n\tpadding-top:20px;\n\tdisplay: none;\n}\n#continue-reading a{\n\tfloat:right;\n\tmargin-right:20px;\n}\nli.completed\n{\nlist-style-image: url('completed.png');\n}\nli.active\n{\nlist-style-image: url('active.png');\n}\n.infoTextCompleted{\n\tmargin-left:10px;\n\tfont-size:0.9em;\n\tcolor:#3dc682;\n\tdisplay:none;\n\tfont-style:italic;\n\topacity: 0.7;\n}\n.infoTextActive{\n\tmargin-left:10px;\n\tfont-size:0.9em;\n\tcolor:#ff9f19;\n\tdisplay:none;\n\tfont-style:italic;\n\topacity: 0.7;\n}\n.dropdown-menu{\n\tbackground-clip: padding-box;\n background-color: var(--menu);\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 5px 5px 5px 5px;\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n display: none;\n list-style: none outside none;\n margin: 1px 0 0;\n min-width: 160px;\n padding: 4px 0;\n position: absolute;\n top: 100%;\n z-index: 1000;\n}\n.dropdown-menu ul {\n list-style: disc outside none;\n margin: 0 0 9px 25px;\n padding: 0;\n}\n\n.sidebar-highlights{\n background-color:#FFFF99;\n}\ndiv.documentwrapper {\n\tborder : 0 none;\n}\ndiv.bodywrapper {\n\tborder-right: 0 none;\n}\ndiv.sphinxsidebar {\n\tborder-left: 1px solid #CCCCCC;\n\tpadding-left: 10px;\n}\n.body>.section .section{\n\tpadding-top: 1px;\n}\n#jump-to-chapter{\n border: 1px solid #CCCCCC;\n letter-spacing: 0.015em;\n line-height: 120%;\n padding: 0.5em;\n\twidth: 80%;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n#navigation-links{\n\tbackground-color: #F8F8F8;\n border: 1px solid #CCCCCC;\n\tpadding:10px;\n\tmargin:10px;\n}\n",".matrixeq_container {\n padding: 6px 6px 6px 6px;\n margin: 0px 0px 6px 0px;\n}\n\nspan.matrix_table {\n display: inline-table;\n background-color: inherit;\n border-width: 2px 2px;\n border-style: solid;\n border-color: black;\n text-align: center;\n padding: 0px 1px;\n margin: 0px 0px 4px 0px;\n overflow: visible;\n}\n\nspan.matrix_column {\n display: inline-table;\n background-color: inherit;\n padding: 2px 8px 2px 8px;\n margin: 0px 1px;\n border-width: 0px 0px 0px 0px;\n font-family: monospace;\n font-size: 12px;\n vertical-align: middle;\n}\n\nspan.matrix_column div {\n display: block;\n margin: 1px;\n padding: 2px;\n background-color: inherit;\n}\n\nspan.matrix_table .matrix_column {\n border-style: none;\n margin-left: 5px;\n margin-right: 5px;\n}\n\nspan.matrix_table:before {\n content: \" \";\n background-color: inherit;\n width: 85%;\n text-align: center;\n height: 2px;\n position: relative;\n top: -2px;\n z-index: 100;\n display: block;\n margin: 0px auto;\n}\n\nspan.matrix_table:after {\n content: \" \";\n background-color: inherit;\n width: 85%;\n text-align: center;\n height: 2px;\n position: relative;\n top: 2px;\n z-index: 100;\n display: block;\n margin: 0px auto;\n}\n\nspan.matrix_column:before {\n content: \" \";\n width: 85%;\n height: 2px;\n position: relative;\n top: -2px;\n z-index: 100;\n display: block;\n}\n\nspan.matrix_column:after {\n content: \" \";\n width: 85%;\n height: 2px;\n position: relative;\n top: 2px;\n z-index: 100;\n display: block;\n}\n\nspan.matrix_table span.matrix_column:before {\n height: 0px;\n}\n\nspan.matrix_table span.matrix_column:after {\n height: 0px;\n}\n\nspan.matrix_table input[type=\"text\"] {\n display: block;\n margin: 0;\n width: 50px;\n height: 24px;\n font-family: sans-serif;\n font-size: 12px;\n appearance: none;\n box-shadow: none;\n text-align: right;\n background-color: inherit;\n}\n\nspan.matrix_operator {\n display: inline-table;\n padding: 0px;\n margin: 0px 4px 0px 4px;\n font-family: monospace;\n font-size: 18px;\n vertical-align: middle;\n}\n\nspan.matrix_label {\n display: inline-table;\n padding: 0px 0px 0px 20px;\n margin: 0px 1px;\n font-family: sans-serif;\n font-size: 12px;\n vertical-align: middle;\n}\n\n/* Colors for matrix highlighting */\n\n.lightcyanColor {\n background-color: lightcyan;\n}\n\n.lightgreyColor {\n background-color: lightgrey;\n}\n\n.purpleColor {\n background-color: #DFB5E8;\n}\n\n.yellowColor {\n background-color: #FDFF9D;\n}\n\n\n\n","/********************* Colour reference chart****************\nelememt ********* property ********* colour ********\n\nwebgl_container background-color #fcf8e3\n\n*/\n\n/* Major sections */\n.webgl_container {\n background-color: #fcf8e3;\n box-sizing: border-box;\n width: 100%;\n display: block;\n margin-bottom: 1em;\n}\n\n.webgl_cmds {\n box-sizing: border-box;\n width: 100%;\n text-align: center;\n padding: 6px;\n}\n\n.webgl_row2 {\n box-sizing: border-box;\n width: 100%;\n padding: 0px 4px 0px 4px;\n display: block;\n height: 550px;\n}\n\n.webgl_editors {\n box-sizing: border-box;\n float: left;\n display: block;\n visibility: visible;\n width: 50%;\n}\n\n.webgl_canvas {\n box-sizing: border-box;\n float: left;\n display: block;\n visibility: visible;\n font-size: 12px;\n font-weight: normal;\n padding-left: 5px;\n width: 50%;\n}\n\n.webgl_output {\n box-sizing: border-box;\n width: 100%;\n padding: 4px;\n margin-top: 6px;\n float: left;\n}\n\n/* Details within each section */\n/* Tabbed titles, ul horizontal list */\n.webgl_nav_tabs {\n height: 31px;\n width: 100%;\n margin: 0px;\n padding: 6px 0px 0px 0px;\n background-color: #CFCCB8;\n border-color: #fbeed5;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n list-style-type: none;\n overflow: hidden;\n display: inline-flex;\n}\n\n.webgl_nav_tabs li {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n margin: 0px 0px 0px 4px;\n padding: 4px 1px 4px 4px;\n list-style-type: none;\n position: relative;\n float: left;\n background-color: #E6E2CC;\n font-size: 9pt;\n}\n\n.webgl_nav_tabs li > a {\n padding: 8px 8px 8px 8px;\n color: #555;\n text-decoration: none;\n}\n\n.webgl_nav_tabs > li > a:hover {\n border-color: #b4b19d;\n border-bottom-width: 0;\n}\n\n.webgl_nav_tabs li.active {\n background-color: #ffffff;\n list-style-type: none;\n list-style-image: none;\n}\n\n/* Webgl editors */\n.webgl_tab_content {\n width: 100%;\n position: absolute;\n clear: both;\n margin: 0px 0px 20px 0px;\n border: 0px;\n color: #c09853;\n background-color: #fcf8e3;\n z-index: 1;\n}\n\n.webgl_tab_content.active {\n z-index: 2;\n}\n\n.webgl_tab_content > * {\n margin-left: auto;\n margin-right: auto;\n /*\tposition:relative; */\n}\n\n.webgl_tab_content .clearfix {\n position: initial;\n}\n\n.webgl_tab_editor {\n width: 100%;\n position: absolute;\n clear: both;\n padding: 10px 4px 10px 4px;\n margin: 0px 0px 20px 0px;\n border: 0px;\n color: #c09853;\n background-color: #fcf8e3;\n}\n\n/* span that contains the tabbed text editors */\n.webgl_code {\n width: 100%;\n float: left;\n}\n\n.webgl_tab_contents_text {\n width: 100%;\n position: absolute;\n clear: both;\n padding: 10px 4px 10px 4px;\n margin: 0px 0px 20px 0px;\n border: 0px;\n color: #c09853;\n background-color: #fcf8e3;\n z-index: 1;\n}\n\n.webgl_errorMessages {\n color: red;\n}\n\n.webgl_warningMessages {\n color: rgb(170, 34, 164);\n}\n\n.webgl_infoMessages {\n color: rgb(24, 144, 64);\n}\n\n.webgl_output_div {\n width: 100%;\n margin: 2px;\n border: 1px solid lightgrey;\n padding-bottom: 4px;\n padding-top: 4px;\n padding-left: 4px;\n background-color: white;\n overflow: auto;\n height: 14em;\n font-size: 12px;\n font-weight: normal;\n}\n\n.webgl_editor_highlight {\n background-color: #EEEEEE; /* very light grey */\n}\n\n/* \nRemoved as these rules apply to entire browser window and not just webgl interactives\n::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 7px;\n}\n::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0,0,0,.5);\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);\n}\n*/\n\n.webgl_btn {\n display: inline-block;\n padding: 3px 6px;\n margin-bottom: 0;\n background-color: thistle;\n font-size: 12px;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n}\n\n.webgl_checkbox {\n}\n\n.webgl_tabbed_editor {\n width: 100%;\n resize: none;\n font-family: monospace, sans-serif;\n font-size: 9pt;\n font-style: normal;\n}\n\n.canvas3D {\n width: 100%;\n height: 100%;\n}\n\n.CodeMirror.webgl-default {\n border: 1px solid #eee;\n font-family: monospace, sans-serif;\n font-size: 8pt;\n font-style: normal;\n}\n\nbutton.btn.webgl-default {\n font-size: 8pt;\n}\n\n\n",".runestone-sphinx {\n @import (less) url(\"./presenter_mode.css\");\n}\n",".hidden{\n display: none;\n}\n\n.view-toggle{\n padding: 0.85em;\n}\n\n.presentation-mode section *{\n display: none;\n}\n\n.presentation-mode section .runestone, .presentation-mode section .runestone *{\n display: initial;\n}\n\n.present{\n height: 100vh;\n}\n\n.full-height{\n height: 100vh;\n}\n\n.bottom{\n position: absolute;\n bottom: 0;\n}\n\n#codeDisplayDiv{\n width: auto!important;\n}\n\ndiv.ExecutionVisualizer #dataViz{\n margin: 0;\n}\n\ndiv.ExecutionVisualizer div#stackHeader {\n text-align: center;\n}\n\n#stackFrame{\n display: block!important;\n}\n\n#stackHeapTable {\n width: 100%;\n}\n\n#stackHeapTable tr {\n justify-content: space-around;\n}\n\ndiv.ExecutionVisualizer td#stack_td, div.ExecutionVisualizer td#heap_td {\n flex: 1;\n}\n\n.presentation-title {\n display: none;\n}\n\n.present .presentation-title {\n display: block;\n}\n\ndiv.ExecutionVisualizer div#heap {\n float: none;\n padding-left: 0;\n}\n\n#stack_td tr {\n display: table-row;\n}\n\n#heap_td tr {\n display: table-row;\n}\n\n#codeDisplayDiv{\n margin: 0 auto;\n}\n\n/* bnm -- comment this out for now as it breaks codelens indentation and arrows\n.visualizer tr{\n display: flex;\n}\n*/\n\n#vizLayoutTd{\n flex: 1;\n}\n\n#vizLayoutTdFirst {\n flex: 2;\n}\n\n#vizLayoutTdSecond {\n flex: 1;\n}\n\n#vizLayoutTdThird {\n flex: 2;\n}\n\n#progOutputs {\n display: block!important;\n margin: 0 20px;\n width: 60%;\n}\n\n#pyStdout {\n width: 100%!important;\n}\n\ndiv.ExecutionVisualizer #pyStdout {\n margin-bottom: 1em;\n}\n\ndiv.ExecutionVisualizer table.visualizer {\n width: 100%;\n}\n\n.present #vizLayoutTdThird{\n text-align: left;\n}\n\n.ac-block{\n display: flex;\n margin-bottom: 1em;\n}\n\n.row-mode .ac-block{\n display: block;\n margin-bottom: 0;\n}\n\n.row-mode .ac_output, .row-mode .ac_code_div{\n float: none;\n display: block;\n width: auto;\n max-width: none;\n}\n\n.row-mode .ac_code_div{\n margin-bottom: 1em;\n}\n\n.ac_section>* {\n max-width: 100%;\n}\n\n.ac_output{\n display: block;\n max-width: 100%;\n}\n\n.ac_output pre {\n visibility: visible!important;\n min-height: 60px;\n}\n\n.CodeMirror{\n margin: 0;\n max-width: 100%;\n border-radius: 3px;\n min-height: 60px;\n}\n\n.container section > runestone:not(.ac_section){\n max-width:none;\n margin: 0;\n}\n\n.presentation-options {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n\n.layout-btn {\n background-color: #FBEED5;\n border: 2px solid #DFD4BE;\n border-radius: 2px;\n padding: .25rem;\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0 .5rem;\n transition: all .2s ease;\n}\n\n.layout-btn.active-layout, .layout-btn:focus {\n border: 2px solid #979797;\n outline: none;\n}\n\n.sketchpad-container {\n min-width: 50%;\n min-height: 300px;\n padding: 0 15px;\n}\n\n.card-mode .sketchpad-container {\n width: 50%;\n margin: 0;\n display: inline-block;\n /*margin: 0 -15px;*/\n vertical-align: top;\n}\n\n.row-mode .error {\n margin: 20px 15px;\n}\n\n.card-mode .error {\n margin: 28px 0 0;\n width: 50%;\n display: inline-block;\n padding: 0 15px;\n vertical-align: top;\n margin-top: 28px;\n}\n\n.sketchpad {\n background: white;\n border: 2px solid grey;\n border-radius: 3px;\n width: 100%;\n min-height: 300px;\n display: block;\n}\n\n.btn-presenter {\n padding: .5rem 1rem;\n border-radius: 3px;\n font-weight: 500;\n margin: 1.5rem 0 1.5rem 1.5rem;\n}\n\n.btn-grey-outline {\n border: 2px solid grey;\n color: grey;\n background: white;\n}\n\n.btn-grey-solid {\n border: 2px solid grey;\n color: white;\n background: grey;\n}\n\nbody.present .ac_section>* {\n max-width: none;\n}\nbody.present iframe {\n width: 100%;\n}\n\nbody.present {\n /* font-size: 2.0em; */\n}\n\nbody.present #relations-prev, body.present #relations-next, body.present .navLinkBg {\n display: none;\n}\n\nbody.present .btn-presenter {\n position: absolute;\n}\nbody.present .btn-presenter.prev-exercise { left: 0px; }\nbody.present .btn-presenter.next-exercise { right: 0px; }\n\n/* .col-md-12 {\n width: 58.333333333333336%;\n}\n\n.card-mode .col-md-7 {\n width: 50%;\n} */\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/course/_static/prefix-runestone.677a75a9120449ff.css.map.gz b/course/_static/prefix-runestone.677a75a9120449ff.css.map.gz new file mode 100755 index 0000000..a71597e Binary files /dev/null and b/course/_static/prefix-runestone.677a75a9120449ff.css.map.gz differ diff --git a/course/_static/prefix-runestone.c2757fc695bc848c.bundle.js.gz b/course/_static/prefix-runestone.c2757fc695bc848c.bundle.js.gz deleted file mode 100755 index b4af4af..0000000 Binary files a/course/_static/prefix-runestone.c2757fc695bc848c.bundle.js.gz and /dev/null differ diff --git a/course/_static/prefix-runestone.c2757fc695bc848c.bundle.js.map b/course/_static/prefix-runestone.c2757fc695bc848c.bundle.js.map deleted file mode 100755 index 1a5484c..0000000 --- a/course/_static/prefix-runestone.c2757fc695bc848c.bundle.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefix-runestone.c2757fc695bc848c.bundle.js","mappings":";4FAAC,SAAUA,GAST,IAAIC,EAAW,SAAUC,EAAKC,GAC5B,IAAIC,GAKJA,EAAQ,SAAUC,EAAOC,GACvBA,EAAQA,GAAS,EACJD,EAAME,KAAK,sCAGjBC,MAAK,SAAUC,EAAOC,GAC3B,IAAIC,EAAQX,EAAEU,GACZE,EAAMF,EAAKG,QAAQC,cACnBC,EAAcJ,EAAMK,SAAS,MAC7BC,EAAYjB,EAAEW,EAAMO,OAAO,MAAOP,EAAMO,SAASA,OAAO,OAG9C,OAARN,GAAgBN,GAASH,GAAYY,EAAYI,OAAS,IAC5DF,EACGG,SAAS,oBACTJ,SAAS,KAAKK,QAAQC,KAAK,YAAa,GAE3CX,EAAMS,SAAS,kBAGjBhB,EAAMO,EAAOL,EAAQ,EACvB,GACF,GAEMJ,EACR,EAMAqB,YAAc,WACZvB,EAAE,kBACCwB,YAAY,YACZJ,SAAS,SACTE,KAAK,SAAU,EACpB,EAEFtB,GAAE,WAME,GAAIA,EAAE,4BAA4BmB,OAAS,EAAG,CAC5C,IAAIM,EAAYzB,EAAE,WAAW0B,SAC3BC,EAAc,WAAaC,SAAS,GAAIH,EAAY,GAAK,EAEvDI,SAASC,MACXH,IAGFI,OAAOC,iBAAiB,aAAcL,EACxC,CAGA3B,EAAE,kBAAkBQ,MAAK,WACvBR,EAAEiC,MAAM1B,KAAK,MAAMC,MAAK,SAAUC,EAAOC,GAC3BV,EAAEU,GACRU,SAAS,WACjB,GACF,IAGIpB,EAAE,mBAAmBmB,OACvBlB,EAASD,EAAE,gBAAiB,GAG5BA,EAAE,wBAAwBkC,SAI5BjC,EAASD,EAAE,eAAgB,GAG3BA,EAAE,qBAAqBmC,IAAI,kBAAkB3B,MAAK,WAChD,IAAIN,EAAMF,EAAEiC,MACVG,EAAUlC,EAAIgB,SACdN,EAAMwB,EAAQ,GAAGvB,QAAQC,cACzBuB,EAAQnC,EAAIc,WAAWsB,SAGb,OAAR1B,EACFV,EAAIqC,YAAYF,GACC,OAARzB,IAETwB,EAAQI,MAAMH,GACdnC,EAAIgC,SAER,IAGAO,SAAWzC,EAAE,kBACTyC,SAAStB,OAAS,GACpBsB,SAASpB,QAAQmB,MAAM,6BAIzBxC,EAAE,oBAAoB0C,WAGtBnB,cAGAvB,EAAE,YAAYoB,SAAS,SAASA,SAAS,cACzCpB,EAAE,eAAeoB,SAAS,SAASA,SAAS,iBAG5CpB,EAAE,uBAAuBmC,IAAI,SAAS3B,MAAK,SAAUmC,EAAGC,GAEjD5C,EAAE4C,GAAG1B,SAAS2B,SAAS,cAC1B7C,EAAE4C,GAAGL,aAAY,WACf,OAAOvC,EAAE,YAAY8C,KAAK9C,EAAEiC,MAAMa,OACpC,GACD,GACL,GACF,CAnIA,CAmIEf,OAAOgB,O,aCnIT,IAAIC,EAEAC,GAAyB,EAE7B,SAASC,IACAD,IAgDT,WAEI,IAAIE,EAAgBnD,EAAE,yBAItBmD,EAAc/B,SAAS,aACvB+B,EAAcjC,SAASkC,QAAQ,OAAOjB,IAAI,WAAWf,SAAS,aAC9D+B,EAAcjC,SAASkC,QAAQ,OAAOC,IAAI,YAAa,QAEvDF,EAAc3C,MAAK,SAAUC,GAChBT,EAAEiC,MACXjC,EAAEiC,MACG1B,KAAK,4BACL+C,QAAQ,oDACjB,IAGAtD,EAAE,eAAeuD,KAAK,2BACtBP,EAAgBhD,EAAE,cAAcmC,IAAI,yBAEpCnC,EAAE,MAAMwD,OACJ,sQAKR,CA1EQC,GACAR,GAAyB,GAE7B,IAAIS,EAAM1D,EAAE,QACR2D,EAAe,UACfC,EAAkB,cAClBC,EAAc,SACdH,EAAIb,SAASc,IACb3D,EAAE,aACGmC,IACG,0FAEHX,YAAY,UACjBxB,EAAE,qBAAqBwB,YAAY,UACnCkC,EAAIlC,YAAYmC,GAChB3D,EAAE,IAAM4D,GAAiBpC,YAAYoC,GACrC5D,EAAE,IAAM6D,GAAarC,YAAYqC,GACjCC,aAAaC,QAAQ,cAAe,QACpCf,EAAcxB,YAAY,UAvB9BwC,UAwBqBC,UAAW,IAE5BjE,EAAE,aACGmC,IACG,0FAEHf,SAAS,UACdpB,EAAE,qBAAqBoB,SAAS,UAChCsC,EAAItC,SAASuC,GACbD,EAAItC,SAASwC,GACb5D,EAAE,QAAQoB,SAASwC,GACnB5D,EAAE,sBAAsBoB,SAASwC,GACjC5D,EAAE,eAAeoB,SAASyC,GAC1BC,aAAaC,QAAQ,cAAeJ,GAGpCO,IAER,CAsCA,SAASC,IACL,OAAQC,OAASpB,EAAcqB,OAAO,UAC1C,CAEA,SAASH,EAAiBzD,QACF,IAATA,IACPA,EAAQ,GAGZ,IAAI2D,EAASD,IAETnB,EAAc7B,SACdiD,EAAO5C,YAAY,UACnB4C,EAASpE,EAAEgD,EAAcvC,IAAQW,SAAS,UAC1CgD,EAAO5C,YAAY,UACnBwB,EAAcb,IAAIa,EAAcqB,OAAO,YAAYjD,SAAS,UAEpE,CAEAW,OAAOuC,aAAe,WAClB,IAAIF,EAASD,IACTI,EAAYvB,EAAcvC,MAAM2D,GAAU,EAC1CG,EAAYvB,EAAc7B,QAC1B+C,EAAiBK,EAEzB,EAEAxC,OAAOyC,aAAe,WAClB,IAAIJ,EAASD,IACTM,EAAYzB,EAAcvC,MAAM2D,GAAU,EAC1CK,GAAa,GACbP,EAAiBO,EAEzB,EAoGAzE,EAAE0E,UAAUC,GAAG,4BAA4B,WAEnCC,YAAYC,eAnGD7E,EAAE,iBACR8E,QACL,mPAUa9E,EAAE,gBAAgB+E,OAAO7B,GA0F9C,G,cC9ME,SAAWlD,GACZ,aAEAA,EAAEgF,KAAOhF,EAAEgF,MAAQ,CAAC,EACpBhF,EAAEiF,OAAQjF,EAAEgF,KAAKE,UAAW,CAC3BC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,IAAK,CAAE,MAGPC,IAAK,CAAE,MAAO,MACdC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,GAAI,CAAE,MACNC,GAAI,CAAE,MACNC,GAAI,CAAE,MACNC,IAAK,CAAE,MACP,UAAW,CAAE,MAAO,MACpBC,IAAK,CAAE,MACP,WAAY,CAAE,aACdC,GAAI,CAAE,OACNC,IAAK,CAAE,MACPC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACP,UAAW,CAAE,MACbC,GAAI,CAAE,MACNC,IAAK,CAAE,YACP,WAAY,CAAE,MACdC,IAAK,CAAE,MACPC,GAAI,CAAE,MACN,QAAS,CAAE,MACX,QAAS,CAAE,MACX,YAAa,CAAE,MACfC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,GAAI,CAAE,MACNC,IAAK,CAAE,MACP,UAAW,CAAE,MAAO,MACpBC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,WAAY,UAAW,WAC9B,WAAY,CAAE,WACd,WAAY,CAAE,UAAW,WACzBC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,IAAK,CAAE,YACPC,IAAK,CAAE,MACPC,GAAI,CAAE,MACNC,GAAI,CAAE,QAAS,WACfC,IAAK,CAAE,MACPC,GAAI,CAAE,YACNC,IAAK,CAAE,MACPC,GAAI,CAAE,MACNC,IAAK,CAAE,UAAW,WAClBC,IAAK,CAAE,YACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,GAAI,CAAE,WACN,UAAW,CAAE,WACb,UAAW,CAAE,WACb,QAAS,CAAE,UAAW,WACtB,QAAS,CAAE,WACX,QAAS,CAAE,UAAW,WACtBC,GAAI,CAAE,MACN,QAAS,CAAE,MACXC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,GAAI,CAAE,WACNC,IAAK,CAAE,MACPC,GAAI,CAAE,WACN,UAAW,CAAE,OACbC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACP,UAAW,CAAE,KAAM,MACnBC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACP,SAAU,CAAE,MACZ,cAAe,CAAE,MACjBC,GAAI,CAAE,MACNC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,GAAI,CAAE,SACN,QAAS,CAAE,MACXC,GAAI,CAAE,MACNC,IAAK,CAAE,KAAM,MACbC,IAAK,CAAE,MACPC,IAAK,CAAE,MACP,UAAW,CAAE,OACbC,IAAK,CAAE,KAAM,MACbC,IAAK,CAAE,WAAY,MACnB,WAAY,CAAE,MACd,WAAY,CAAE,MACdC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,GAAI,CAAE,SACNC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,GAAI,CAAE,WACNC,GAAI,CAAE,UAAW,MACjB,UAAW,CAAE,MACbC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,GAAI,CAAE,WACNC,GAAI,CAAE,MACNC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,GAAI,CAAE,MACNC,GAAI,CAAE,MACNC,IAAK,CAAE,WACPC,IAAK,CAAE,MACPC,IAAK,CAAE,MACPC,GAAI,CAAE,MACNC,GAAI,CAAE,WACNC,IAAK,CAAE,MACPC,GAAI,CAAE,WACN,eAAgB,CAAE,OAClB,QAAS,CAAE,WACX,UAAW,CAAE,WACb,QAAS,CAAE,UAAW,WACtB,aAAc,CAAE,OAChB,QAAS,CAAE,QAAS,UAAW,WAC/B,QAAS,CAAE,QAAS,WACpB,QAAS,CAAE,WACX,QAAS,CAAE,UAAW,WACtB,SAAU,CAAE,QAEd,CA5KA,CA4KGpK,O,cCxLD,SAAW/C,GACZ,aAGA,IAAIoN,EAAW,CAGdC,YAAa,CACZC,GAAI,CACHC,IAAK,YAENC,GAAI,CACHD,IAAK,kBAENE,GAAI,CACHC,KAAM,QACNH,IAAK,QACLI,IAAK,QACLC,IAAK,kBACLC,KAAM,oBAEPC,IAAK,CACJJ,KAAM,QACNH,IAAK,QACLI,IAAK,QACLC,IAAK,kBACLC,KAAM,oBAEPE,GAAI,CACHR,IAAK,kBAENS,GAAI,CACHT,IAAK,+BACLK,IAAK,sCACLC,KAAM,mDAEP7H,GAAI,CACHuH,IAAK,YAENU,GAAI,CACHV,IAAK,kBAENW,GAAI,CACHX,IAAK,qCACLI,IAAK,qCACLC,IAAK,sDACLC,KAAM,8BAEPM,GAAI,CACHZ,IAAK,yEACLK,IAAK,wFAENQ,GAAI,CACHb,IAAK,kBACLK,IAAK,qBACLC,KAAM,UAEPQ,GAAI,CACHX,KAAM,QACNH,IAAK,QACLI,IAAK,QACLC,IAAK,QACLC,KAAM,SAEPS,GAAI,CACHf,IAAK,+BAEN7G,IAAK,CACJ6G,IAAK,uCACLI,IAAK,uCACLC,IAAK,8CAENW,GAAI,CACHhB,IAAK,kBAENzG,GAAI,CACHyG,IAAK,WAENiB,IAAK,CACJjB,IAAK,kFAENkB,GAAI,CACHlB,IAAK,WAENmB,GAAI,CACHnB,IAAK,QACLI,IAAK,QACLC,IAAK,WACLC,KAAM,aAEPc,GAAI,CACHpB,IAAK,WACLI,IAAK,WACLC,IAAK,oBAENgB,GAAI,CACHrB,IAAK,kBAENsB,IAAK,CACJtB,IAAK,YAENuB,GAAI,CACHvB,IAAK,uBACLI,IAAK,uBACLC,IAAK,oCACLC,KAAM,UAEPkB,GAAI,CACHxB,IAAK,kBACLI,IAAK,kBACLE,KAAM,uCAEPmB,GAAI,CACHzB,IAAK,kBAEN0B,GAAI,CACH1B,IAAK,yEACLK,IAAK,wFAENjG,IAAK,CACJ4F,IAAK,uCACLI,IAAK,uCACLC,IAAK,8CAENsB,GAAI,CACH3B,IAAK,WAEN4B,GAAI,CACH5B,IAAK,oDAENxF,GAAI,CACHwF,IAAK,QACLI,IAAK,SAENyB,GAAI,CACH7B,IAAK,kBACLI,IAAK,kBACLE,KAAM,uCAEPwB,IAAK,CACJ9B,IAAK,WAEN+B,GAAI,CACH/B,IAAK,kBAENgC,GAAI,CACHhC,IAAK,QACLI,IAAK,SAEN6B,IAAK,CACJ9B,KAAM,QACNH,IAAK,sBAENjE,GAAI,CACHiE,IAAK,YAENkC,GAAI,CACHlC,IAAK,mCACLK,IAAK,sCACLC,KAAM,UAEP6B,GAAI,CACHhC,KAAM,+DACNH,IAAK,mGAEN7D,GAAI,CACH6D,IAAK,YAENoC,GAAI,CACHpC,IAAK,sCAEN1D,GAAI,CACH0D,IAAK,kBACLK,IAAK,iDAENgC,GAAI,CACHrC,IAAK,kBAENsC,GAAI,CACHtC,IAAK,QACLK,IAAK,2BACLC,KAAM,oBAEPiC,IAAK,CACJvC,IAAK,QACLI,IAAK,SAENoC,IAAK,CACJxC,IAAK,YAENyC,GAAI,CACHzC,IAAK,YAEN0C,GAAI,CACH1C,IAAK,kBACLK,IAAK,gDACLC,KAAM,+FAEPqC,IAAK,CACJxC,KAAM,+DACNH,IAAK,mGAEN3C,GAAI,CACH2C,IAAK,YAEN4C,GAAI,CACH5C,IAAK,kBACLK,IAAK,iDAENwC,GAAI,CACH7C,IAAK,yCACLK,IAAK,gDACLC,KAAM,iFAEPwC,GAAI,CACH9C,IAAK,QACLI,IAAK,SAEN2C,GAAI,CACH/C,IAAK,yEACLK,IAAK,wFAEN2C,IAAK,CACJhD,IAAK,iBACLK,IAAK,aAEN4C,GAAI,CACHjD,IAAK,8BAENkD,GAAI,CACHlD,IAAK,kBACLK,IAAK,qBACLC,KAAM,UAEP6C,GAAI,CACHnD,IAAK,wBACLI,IAAK,wBACLC,IAAK,sCAEN+C,IAAK,CACJpD,IAAK,QACLI,IAAK,SAENiD,IAAK,CACJrD,IAAK,QACLI,IAAK,SAENkD,IAAK,CACJtD,IAAK,QACLI,IAAK,SAENmD,IAAK,CACJvD,IAAK,QACLI,IAAK,SAENoD,IAAK,CACJxD,IAAK,QACLI,IAAK,SAENlC,GAAI,CACH8B,IAAK,yEACLK,IAAK,wFAENoD,GAAI,CACHzD,IAAK,YAEN0D,GAAI,CACH1D,IAAK,kFAEN2D,IAAK,CACJ3D,IAAK,0BAENnB,GAAI,CACHmB,IAAK,yCACLK,IAAK,gDACLC,KAAM,iFAEPlB,GAAI,CACHY,IAAK,YAEN4D,GAAI,CACH5D,IAAK,mBAcP6D,cAAe,SAAWC,EAAOC,GAChC,IAAIjE,EACHkE,EACA9Q,EAGA+Q,EAFAC,EAAwB,IAAIC,OAAQ,QAAS,KAI9C,IAAMJ,GAA0B,IAAjBA,EAAMnQ,OACpB,MAAO,GAIR,IAAMV,EAAQ,EAAGA,EAAQ6Q,EAAMnQ,OAAQV,IAEtC,GADA+Q,EAAOF,EAAO7Q,GACTgR,EAAsBE,KAAMH,GAAS,CAEzC,GADYI,SAAUJ,EAAKK,MAAO,EAAGL,EAAKM,QAAS,MAAS,MACzCT,EAClB,OAASG,EAAKK,MAAOL,EAAKM,QAAS,KAAQ,GAE5CR,EAAO7Q,QAAUsR,CAClB,CAWD,OARAT,EAAQtR,EAAEgS,IAAKV,GAAO,SAAWE,GAChC,QAAcO,IAATP,EACJ,OAAOA,CAET,KAEAnE,EAAcpL,KAAKoL,YAAarN,EAAEgF,OAAOiN,UAOzCV,EAAkBtP,KAAKiQ,cAAeb,EAAOhE,GAGtCiE,EAFPC,EAAkBY,KAAKvI,IAAK2H,EAAiBD,EAAMnQ,OAAS,KAJxC,IAAVkQ,EAAgBC,EAAO,GAAMA,EAAO,EAO/C,EASAY,cAAe,SAAWE,EAAQ/E,GACjC,IAAI1K,EACH0P,EAAc,CAAE,OAAQ,MAAO,MAAO,MAAO,OAAQ,SACrDd,EAAkB,EAEnB,IAAM5O,EAAI,EAAGA,EAAI0P,EAAYlR,OAAQwB,IACpC,GAAK0K,EAAagF,EAAa1P,IAAQ,CACtC,GAAK2P,iBAAkBjF,EAAagF,EAAa1P,IAAOyP,GACvD,OAAOb,EAGRA,GACD,CAGD,OAAOA,CACR,EASAgB,cAAe,SAAWC,EAAKC,GAC9B,IAAIC,EAAKhS,EAAMiC,EACdgQ,EAAgBC,EAAcC,EAO/B,GAJAF,EAAiB1Q,KAAK6Q,oBAAqB9S,EAAEgF,OAAOiN,QACpDW,EAAeG,OAAQP,GACvBK,EAAkB,IAEZF,EACL,OAAOH,EAIR,GAAKC,EAAU,CACd,GAAKO,WAAYR,EAAK,MAASA,EAC9B,OAAOA,EAKR,IAAM9R,KAFNgS,EAAM,GAEQC,EACbD,EAAKC,EAAgBjS,IAAWA,EAGjCiS,EAAiBD,CAClB,CAEA,IAAM/P,EAAI,EAAGA,EAAIiQ,EAAazR,OAAQwB,IAChCgQ,EAAgBC,EAAcjQ,IAClCkQ,GAAmBF,EAAgBC,EAAcjQ,IAEjDkQ,GAAmBD,EAAcjQ,GAInC,OAAO8P,EAAUO,WAAYH,EAAiB,IAAOA,CACtD,EAaAI,eAAgB,SAAWC,EAAM1B,GAChC,OAAO0B,CACR,EAgBAC,OAAQ,SAAWA,EAAQ7B,GAC1B,IAAMA,GAA0B,IAAjBA,EAAMnQ,OACpB,MAAO,GAGR,KAAQmQ,EAAMnQ,OAAS,GACtBmQ,EAAM8B,KAAM9B,EAAOA,EAAMnQ,OAAS,IAGnC,MAAgB,SAAXgS,EACG7B,EAAO,GAGC,WAAX6B,EACG7B,EAAO,GAGW,IAAjBA,EAAMnQ,OAAiBmQ,EAAO,GAAMA,EAAO,EACrD,EAUAwB,oBAAqB,SAAW1F,GAC/B,IAAIiG,EAAS,CACZ5F,GAAI,aACJc,GAAI,aACJ+E,GAAI,aACJhE,GAAI,aACJiE,GAAI,aACJC,GAAI,aACJC,GAAI,aACJzD,GAAI,aACJpB,GAAI,aACJI,GAAI,aACJ0E,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,aACJC,GAAI,cAGL,QAAMT,EAAQjG,IAIPiG,EAAQjG,GAAW2G,MAAO,GAClC,GAGD/T,EAAEiF,OAAQjF,EAAEgF,KAAKgP,UAAW,CAC3B,QAAW5G,GAEb,CAhfA,CAgfGrK,O,cCleD,SAAW/C,GACZ,aACA,IAAIiU,EAWJA,EAAkB,IAAIvC,OACrB,iuKAiCD1R,EAAEiF,OAAQjF,EAAEgF,KAAKkP,OAAOC,QAAS,CAiBhCC,KAAM,SAAWC,GAChB,IA5BGC,EA4BCC,GA5BDD,EA4B6BD,EAAO,GA5B3BG,MAAOP,SAIJlC,IAAXuC,EAAG,GACA,MAED,MALC,KA2BP,MAAa,QAARC,EAEG,IAAWF,EAAO,GAAM,IAEnB,QAARE,EAEG,IAAWF,EAAO,GAAM,IAGzBA,EAAO,EACf,GAEF,CA9EA,CA8EGtR,O,yBC7FH0R,EAAOC,QAAU3R,M,cCef,SAAW/C,GACZ,aAEA,IAAI2U,EAAuB,WAC1B1S,KAAKmL,SAAWpN,EAAEgF,KAAKgP,UAAWjB,OAAOd,SAAYjS,EAAEgF,KAAKgP,UAAqB,OAClF,EAEAW,EAAqBC,UAAY,CAChCC,YAAaF,EAYbG,KAAM,SAAWC,EAAMC,GACtB,IAAIC,EAAKC,EAAUC,EAClBC,EAAuBnT,KAExB,cAAgB8S,GACf,IAAK,SACL,IAAK,SACJE,EAAMF,EACN,MACD,IAAK,SAQJ,GANAG,EAAWlV,EAAEgS,IAAK+C,EAAKlD,MAAO,IAAK,SAAWwD,GAC7C,OAAOD,EAAqBN,KAAMO,EAAGL,EACtC,IAEAG,EAAYJ,EAAM,GAAIjU,cAE4B,mBAAtCsU,EAAsBD,GAGjC,MAAM,IAAIG,MAAO,sBAAwBH,EAAY,KAFrDF,EAAMG,EAAsBD,GAAaD,EAAUF,GAKpD,MACD,IAAK,YAOJC,EAAM,GACN,MACD,QACC,MAAM,IAAIK,MAAO,kCAAoCP,GAGvD,OAAOE,CACR,EAWAM,OAAQ,SAAWlB,GAClB,IAAImB,EAAS,GAOb,OALAxV,EAAEQ,KAAM6T,GAAO,SAAW1R,EAAGoS,GAE5BS,GAAUT,CACX,IAEOS,CACR,EAcAC,QAAS,SAAWpB,EAAOW,GAC1B,IAAIvU,EAAQmR,SAAUyC,EAAO,GAAK,IAElC,OAAK5T,EAAQuU,EAAa7T,OAElB6T,EAAcvU,GAGd,KAAQA,EAAQ,EAEzB,EAYAiV,OAAQ,SAAWrB,GAClB,IAAIhD,EAAQ2B,WAAY/Q,KAAKmL,SAASmF,cAAe8B,EAAO,GAAK,KAChE/C,EAAQ+C,EAAMxC,MAAO,GAEtB,OAAOP,EAAMnQ,OAASc,KAAKmL,SAASgE,cAAeC,EAAOC,GAAU,EACrE,EASA6B,OAAQ,SAAWkB,GAClB,IAAIlB,EAASkB,EAAO,GACnB/C,EAAQ+C,EAAMxC,MAAO,GAEtB,OAAO5P,KAAKmL,SAAS+F,OAAQA,EAAQ7B,EACtC,EAUAqE,QAAS,SAAWtB,GACnB,IAAI7C,EAAO6C,EAAO,GACjBnB,EAAOmB,EAAO,GAEf,OAAOnB,GAAQ1B,GAAQvP,KAAKmL,SAAS6F,eAAgBC,EAAM1B,EAC5D,GAGDxR,EAAEiF,OAAQjF,EAAEgF,KAAKkP,OAAOC,QAAS,IAAIQ,EACtC,CAxJA,CAwJG5R,O,cCxJD,SAAW/C,GACZ,aAEA,IAAI4V,EAAgB,SAAWC,GAC9B5T,KAAK4T,QAAU7V,EAAEiF,OAAQ,CAAC,EAAGjF,EAAEgF,KAAKkP,OAAO4B,SAAUD,GACrD5T,KAAKmL,SAAWpN,EAAEgF,KAAKgP,UAAWjB,OAAOd,SAAYjS,EAAEgF,KAAKgP,UAAqB,QACjF/R,KAAKkS,QAAUnU,EAAEgF,KAAKkP,OAAOC,OAC9B,EAEAyB,EAAchB,UAAY,CAEzBC,YAAae,EAEbG,YAAa,SAAWC,EAASC,GAChC,OAAOD,EAAQP,QAAS,YAAY,SAAWS,EAAK1B,GACnD,IAAI/T,EAAQmR,SAAU4C,EAAO,IAAO,EAEpC,YAA+BzC,IAAxBkE,EAAYxV,GAAwBwV,EAAYxV,GAAU,IAAM+T,CACxE,GACD,EAEA2B,MAAO,SAAWH,EAAShB,GAC1B,OAAKgB,EAAQlE,QAAS,MAAS,EACvB7P,KAAK8T,YAAaC,EAAShB,IAGnC/S,KAAKkS,QAAQ/G,SAAWpN,EAAEgF,KAAKgP,UAAWhU,EAAEgF,OAAOiN,SAClDjS,EAAEgF,KAAKgP,UAAqB,QAEtB/R,KAAKkS,QAAQW,KAAM7S,KAAKmU,IAAKJ,GAAWhB,GAChD,EAEAoB,IAAK,SAAWJ,GACf,IAAIK,EAAMC,EAAOC,EAAWC,EAAcC,EAAQC,EAAQC,EACzDC,EAAsDC,EACtDC,EAAyBC,EAAkBC,EAAcC,EACzDC,EAAeC,EAAYC,EAAiB5B,EAkHzB6B,EAAGC,EAjHtBC,EAAM,EAGP,SAASC,EAAQC,GAChB,OAAO,WACN,IAAI9U,EAAG6S,EAEP,IAAM7S,EAAI,EAAGA,EAAI8U,EAAatW,OAAQwB,IAGrC,GAAgB,QAFhB6S,EAASiC,EAAc9U,MAGtB,OAAO6S,EAIT,OAAO,IACR,CACD,CAKA,SAASkC,EAAUD,GAClB,IAAI9U,EAAGgV,EACNC,EAAcL,EACd/B,EAAS,GAEV,IAAM7S,EAAI,EAAGA,EAAI8U,EAAatW,OAAQwB,IAAM,CAG3C,GAAa,QAFbgV,EAAMF,EAAc9U,MAKnB,OAFA4U,EAAMK,EAEC,KAGRpC,EAAOpC,KAAMuE,EACd,CAEA,OAAOnC,CACR,CAIA,SAASqC,EAASxC,EAAGgC,GACpB,OAAO,WAKN,IAJA,IAAIO,EAAcL,EACjB/B,EAAS,GACTsC,EAAST,IAES,OAAXS,GACPtC,EAAOpC,KAAM0E,GACbA,EAAST,IAGV,OAAK7B,EAAOrU,OAASkU,GACpBkC,EAAMK,EAEC,MAGDpC,CACR,CACD,CAIA,SAASuC,EAAkBC,GAC1B,IAAIC,EAAMD,EAAE7W,OAEZ,OAAO,WACN,IAAIqU,EAAS,KAOb,OALKQ,EAAQnE,MAAO0F,EAAKA,EAAMU,KAAUD,IACxCxC,EAASwC,EACTT,GAAOU,GAGDzC,CACR,CACD,CAEA,SAAS0C,EAAiBC,GACzB,OAAO,WACN,IAAIC,EAAUpC,EAAQnE,MAAO0F,GAAM/C,MAAO2D,GAE1C,OAAiB,OAAZC,EACG,MAGRb,GAAOa,EAAS,GAAIjX,OAEbiX,EAAS,GACjB,CACD,CA0CA,SAASC,IACR,IAAI7C,EAASkC,EAAU,CAAEnB,EAAWC,IAEpC,OAAkB,OAAXhB,EAAkB,KAAOA,EAAQ,EACzC,CAMA,SAAS8C,IACR,IAAI9C,EAASkC,EAAU,CAAEjB,EAAQC,IAEjC,OAAgB,OAAXlB,EACG,KAGD,CAAE,UAAW5D,SAAU4D,EAAQ,GAAK,IAAO,EACnD,CAYA,SAAS+C,IACR,IAAIC,EACHhD,EAASkC,EAAU,CAAErB,EAAMwB,EAAS,EAAGT,KAExC,OAAgB,OAAX5B,EACG,MAGRgD,EAAOhD,EAAQ,IAIHrU,OAAS,EAAI,CAAE,UAAWoU,OAAQiD,GAASA,EAAM,EAC9D,CAEA,SAASC,IACR,IAAIjD,EAASkC,EAAU,CAAEV,EAAcV,EAAOgC,IAE9C,OAAkB,OAAX9C,EAAkB,KAAO,CAAEA,EAAQ,GAAKA,EAAQ,GACxD,CAEA,SAASkD,IACR,IAAIlD,EAASkC,EAAU,CAAEV,EAAcV,EAAOc,IAE9C,OAAkB,OAAX5B,EAAkB,KAAO,CAAEA,EAAQ,GAAKA,EAAQ,GACxD,CA6BA,SAASmD,IACR,IAAInD,EAASkC,EAAU,CAAET,EAAcF,EAAkBG,IAEzD,OAAkB,OAAX1B,EAAkB,KAAOA,EAAQ,EACzC,CAuBA,GAvJAa,EAAO0B,EAAkB,KACzBzB,EAAQyB,EAAkB,KAC1BxB,EAAYwB,EAAkB,MAC9BvB,EAAe0B,EAAiB,MAChCzB,EAASsB,EAAkB,KAC3BrB,EAASwB,EAAiB,QAC1BvB,EAAiBuB,EAAiB,gBAClCtB,EAA2BsB,EAAiB,iBAuC5CV,EAAQ,CAAEa,EAtCmBH,EAAiB,kBAuC9CrB,EAA6BW,EAAQ,CAAEa,EAAgBzB,IACvDE,EAA0BU,EAAQ,CAAEa,EAAgB1B,IA/BhCU,EA8CnBa,EAAiB,gDA9CKZ,EAgDtB,SAAW9B,GACV,OAAOA,EAAOoD,UACf,EAPD5B,EA1CQ,WACN,IAAIxB,EAAS6B,IAEb,OAAkB,OAAX7B,EAAkB,KAAO8B,EAAI9B,EACrC,EA2EDuB,EAAmBS,EAAQ,CAC1B,WACC,IAAIG,EAAMD,EAAU,CAKnBF,EAAQ,CAAEiB,EAAyBC,IACnCb,EAAS,EAAGU,KAGb,OAAe,OAARZ,EAAe,KAAOA,EAAK,GAAIpC,OAAQoC,EAAK,GACpD,EACA,WACC,IAAIA,EAAMD,EAAU,CAAEV,EAAca,EAAS,EAAGU,KAEhD,OAAa,OAARZ,EACG,KAGD,CAAEA,EAAK,IAAMpC,OAAQoC,EAAK,GAClC,IAGDV,EAAec,EAAkB,MACjCb,EAAgBa,EAAkB,MAQlCZ,EAAaK,EAAQ,CAAEmB,EAAUL,EAhGjC,WACC,IAAI9C,EAASqC,EAAS,EAAGf,EAAZe,GAEb,OAAkB,OAAXrC,EAAkB,KAAOA,EAAOqD,KAAM,GAC9C,IA6FAzB,EAAkBI,EAAQ,CAAEmB,EAAUL,EAvGtC,WACC,IAAI9C,EAASqC,EAAS,EAAGhB,EAAZgB,GAEb,OAAkB,OAAXrC,EAAkB,KAAOA,EAAOqD,KAAM,GAC9C,IAuHgB,QARhBrD,EAVA,WACC,IAAIA,EAASqC,EAAS,EAAGV,EAAZU,GAEb,OAAgB,OAAXrC,EACG,KAGD,CAAE,UAAWD,OAAQC,EAC7B,CAESsD,KAQevB,IAAQvB,EAAQ7U,OACvC,MAAM,IAAImU,MAAO,2BAA6BiC,EAAIqB,WAAa,cAAgB5C,GAGhF,OAAOR,CACR,GAIDxV,EAAEiF,OAAQjF,EAAEgF,KAAKkP,OAAQ,IAAI0B,EAC9B,CAtSA,CAsSG7S,O,cCvSD,SAAW/C,GACZ,aAEA,IAAI+Y,EAAe,WAClB9W,KAAK+W,SAAW,CAAC,EACjB/W,KAAKgX,QAAU,CAAC,CACjB,EAmBAF,EAAanE,UAAY,CAsBxBsE,KAAM,SAAWC,EAAQlH,GACxB,IAxC0BmH,EACvBC,EAuCCC,EAAM,KAETC,EAAY,GACZC,EAAevX,KAEhB,GAAuB,iBAAXkX,EAQX,OANAnZ,EAAEgF,KAAKyU,IAAK,0BAA4BN,IA/CfC,EAgDKD,EA/C5BE,EAAWrZ,EAAE0Z,WAEjB1Z,EAAE2Z,QAASP,GACTQ,KAAMP,EAASQ,SACfC,MAAM,SAAWC,EAAOC,EAAUC,GAClCja,EAAEgF,KAAKyU,IAAK,kCAAoCL,EAAM,eAAiBa,GAEvEZ,EAASQ,SACV,IAEMR,EAASa,WAsCZN,MAAM,SAAWO,GACjBX,EAAaY,IAAKnI,EAAQkI,EAC3B,IAEeD,UAGjB,GAAKjI,EAIJ,OAFAuH,EAAaY,IAAKnI,EAAQkH,GAEnBnZ,EAAE0Z,WAAWG,UAGpB,IAAMP,KAAOH,EACPkB,OAAOzF,UAAU0F,eAAeC,KAAMpB,EAAQG,KAClDrH,EAASqH,EAGTC,EAAUnG,KAAMoG,EAAaN,KAAMC,EAAQG,GAAOrH,KAGpD,OAAOjS,EAAEwa,KAAKC,MAAOza,EAAGuZ,EAG1B,EASAa,IAAK,SAAWnI,EAAQ+G,GACjB/W,KAAK+W,SAAU/G,GAGpBhQ,KAAK+W,SAAU/G,GAAWjS,EAAEiF,OAAQhD,KAAK+W,SAAU/G,GAAU+G,GAF7D/W,KAAK+W,SAAU/G,GAAW+G,CAI5B,EAQA0B,IAAK,SAAWzI,EAAQ0I,GACvB,OAAO1Y,KAAK+W,SAAU/G,IAAYhQ,KAAK+W,SAAU/G,GAAU0I,EAC5D,GAGD3a,EAAEiF,OAAQjF,EAAEgF,KAAKwU,aAAc,IAAIT,EACpC,CA/GA,CA+GGhW,O,cC9GD,SAAW/C,GACZ,aAEA,IAAI4a,EA2OCC,EAAK5I,EA1OTJ,EAAQiJ,MAAMlG,UAAU/C,OAKzB+I,EAAO,SAAW/E,GAEjB5T,KAAK4T,QAAU7V,EAAEiF,OAAQ,CAAC,EAAG2V,EAAK9E,SAAUD,GAE5C5T,KAAKiS,OAASjS,KAAK4T,QAAQ3B,OAC3BjS,KAAKgQ,OAAShQ,KAAK4T,QAAQ5D,OAC3BhQ,KAAKuX,aAAevX,KAAK4T,QAAQ2D,aACjCvX,KAAK+R,UAAY,CAAC,CACnB,GAEKY,UAAY,CAMhBmG,SAAU,SAAWJ,GACpB,IAAIK,EAAaC,EAAiBhJ,EAAQiJ,EACzCC,EAAcnF,EAKf,IAHA/D,EAAShQ,KAAKgQ,OACdiJ,EAAgB,EAERjJ,GAAS,CAIhBgJ,GADAD,EAAc/I,EAAO8B,MAAO,MACE5S,OAE9B,EAAG,CAIF,GAHAga,EAAeH,EAAYnJ,MAAO,EAAGoJ,GAAkBpC,KAAM,KAC7D7C,EAAU/T,KAAKuX,aAAakB,IAAKS,EAAcR,GAG9C,OAAO3E,EAGRiF,GACD,OAAUA,GAEV,GAAgB,OAAXhJ,EACJ,MAGDA,EAAWjS,EAAEgF,KAAKE,UAAWjD,KAAKgQ,SAChCjS,EAAEgF,KAAKE,UAAWjD,KAAKgQ,QAAUiJ,IACjCjZ,KAAK4T,QAAQuF,eACfpb,EAAEgF,KAAKyU,IAAK,8BAAgCxX,KAAKgQ,OAAS,KAAOA,EAAS,KAAO0I,EAAa,KAE9FO,GACD,CAGA,MAAO,EACR,EAKAG,QAAS,WACRrb,EAAEsb,WAAY5W,SAAU,OACzB,EA4CAwU,KAAM,SAAWC,EAAQlH,GACxB,IAAIsJ,EAAiBC,EAAUJ,EAAgBK,EAAY,CAAC,EAK5D,GAJMtC,GAAWlH,IAChBkH,EAAS,QAAUnZ,EAAEgF,OAAOiN,OAAS,QACrCA,EAASjS,EAAEgF,OAAOiN,QAEI,iBAAXkH,GAEqC,SAAhDA,EAAOpF,MAAO,KAAO,GAAIA,MAAO,KAAM2H,MACrC,CAMD,IAHAD,EAAWxJ,GAAWkH,EAAS,IAAMlH,EAAS,QAC9CsJ,GAAoBvb,EAAEgF,KAAKE,UAAW+M,IAAY,IAChDsD,OAAQtT,KAAK4T,QAAQuF,gBACjBI,EAAW,EAAGA,EAAWD,EAAgBpa,OAAQqa,IAEtDC,EADAL,EAAiBG,EAAiBC,IACJrC,EAAS,IAAMiC,EAAiB,QAE/D,OAAOnZ,KAAKiX,KAAMuC,EACnB,CACC,OAAOxZ,KAAKuX,aAAaN,KAAMC,EAAQlH,EAGzC,EASAkE,MAAO,SAAWmD,EAAKrD,GACtB,IAAID,EAAU/T,KAAK8Y,SAAUzB,GAQ7B,OAJArX,KAAKiS,OAAO9G,SAAWpN,EAAEgF,KAAKgP,UAAWhU,EAAEgF,OAAOiN,SAAYjS,EAAEgF,KAAKgP,UAAqB,QACzE,KAAZgC,IACJA,EAAUsD,GAEJrX,KAAKiS,OAAOiC,MAAOH,EAASC,EACpC,GAYDjW,EAAEgF,KAAO,SAAWsU,EAAKqC,GACxB,IAAI1F,EACHjR,EAAOhF,EAAE4b,KAAMlX,SAAU,QACzBmR,EAAyB,iBAARyD,GAAoBA,EAkBtC,OATKzD,GAAWA,EAAQ5D,QAAUjN,GAAQA,EAAKiN,SAAW4D,EAAQ5D,SACjEjN,EAAKiN,OAAS4D,EAAQ5D,QAGjBjN,IACLA,EAAO,IAAI4V,EAAM/E,GACjB7V,EAAE4b,KAAMlX,SAAU,OAAQM,IAGP,iBAARsU,GAEVrD,OADelE,IAAX4J,EACS9J,EAAM0I,KAAMsB,UAAW,GAEvB,GAGP7W,EAAKmR,MAAOmD,EAAKrD,IAGjBjR,CAET,EAEAhF,EAAEsX,GAAGtS,KAAO,WACX,IAAIA,EAAOhF,EAAE4b,KAAMlX,SAAU,QAO7B,OALMM,IACLA,EAAO,IAAI4V,EACX5a,EAAE4b,KAAMlX,SAAU,OAAQM,IAGpB/C,KAAKzB,MAAM,WACjB,IAECsb,EAAUC,EAAUC,EAAM1C,EAFvB2C,EAAQjc,EAAGiC,MACd0Y,EAAasB,EAAML,KAAM,QAGrBjB,GACJmB,EAAWnB,EAAW7I,QAAS,KAC/BiK,EAAWpB,EAAW7I,QAAS,MACZ,IAAdgK,IAAiC,IAAdC,GAAmBD,EAAWC,GACrDC,EAAOrB,EAAW9I,MAAOiK,EAAW,EAAGC,GACvCzC,EAAMqB,EAAW9I,MAAOkK,EAAW,GACrB,SAATC,EACJC,EAAMC,KAAMlX,EAAKmR,MAAOmD,IAExB2C,EAAM3a,KAAM0a,EAAMhX,EAAKmR,MAAOmD,KAG/B2C,EAAMnZ,KAAMkC,EAAKmR,MAAOwE,KAGzBsB,EAAM1b,KAAM,eAAgByE,MAE9B,GACD,EAgBAhF,EAAEgF,KAAKgP,UAAY,CAAC,EACpBhU,EAAEgF,KAAKwU,aAAexZ,EAAEgF,KAAKwU,cAAgB,CAAC,EAC9CxZ,EAAEgF,KAAKkP,OAAS,CAEfiC,MAAO,SAAWH,EAASC,GAC1B,OAAOD,EAAQP,QAAS,YAAY,SAAWS,EAAK1B,GACnD,IAAI/T,EAAQmR,SAAU4C,EAAO,IAAO,EACpC,YAA+BzC,IAAxBkE,EAAYxV,GAAwBwV,EAAYxV,GAAU,IAAM+T,CACxE,GACD,EACAL,QAAS,CAAC,GAEXnU,EAAEgF,KAAKE,UAAY,CAAC,EACpBlF,EAAEgF,KAAKmX,OAAQ,EACfnc,EAAEgF,KAAKyU,IAAM,WACP1X,OAAOqa,SAAWpc,EAAEgF,KAAKmX,OAC7Bpa,OAAOqa,QAAQ3C,IAAIgB,MAAO1Y,OAAOqa,QAASP,UAE5C,EAEAjB,EAAK9E,SAAW,CACf7D,QAlCSA,EAASjS,EAAG,QAASsB,KAAM,QAE9B2Q,IAGJA,OAFgCF,WAArBhQ,OAAOsa,aAClBxB,EAAM9Y,OAAOsa,WACAjP,UAAYyN,EAAIyB,eAEpB,IAGJrK,GAyBPmJ,eAAgB,KAChBlH,OAAQlU,EAAEgF,KAAKkP,OACfsF,aAAcxZ,EAAEgF,KAAKwU,cAItBxZ,EAAEgF,KAAK6P,YAAc+F,CACtB,CAxRA,CAwRG7X,O,cC/MH,SAAU/C,GAEVA,EAAEuc,UAAY,SAASC,EAAYC,EAAMC,GAIxCA,EAAO1c,EAAEiF,OAAO,CACf0X,kBAAkB,EAClBC,MAAS,EACTC,SAAS,EACTC,QAAS,IACTC,OAAS,8EACPL,GAGAD,EAAOA,GAAQ/X,SAMf,IAAIsY,EAAkB,SAASC,GAGL,iBAAXA,IACPA,OAASlL,GAGb,IAAImL,EAAMld,EAAE4b,KAAKqB,GAAUR,EAAK,gBAGhCS,EAAIN,MAAQM,EAAIN,KAGhB,IAAIO,GAAY,IAAIC,KAAUF,EAAIG,QAIlC,GAHAH,EAAIG,SAAW,IAAID,KAGfF,EAAIN,MAASO,EAAUT,EAAKI,QAKxB,OAJAI,EAAIN,MAAO,EACXU,aAAatd,EAAEuc,UAAUgB,UACrBb,EAAKG,UACP7c,EAAEuc,UAAUgB,IAAMC,WAAWR,EAAiBN,EAAKI,WAQ7D,IAAIW,EAAQ1a,OAAO2a,MAAO1d,EAAE4b,KAAKa,EAAK,YAAaS,EAAIN,KAAO,OAAS,UAAc,cAIrF5c,EAAEyc,GAAMkB,QAAQF,EACpB,EAgEIP,EAAMld,EAAE4b,KAAKa,EAAK,iBAAmB,CAAC,EAK1C,GAHAS,EAAIG,QAAUH,EAAIG,UAAY,IAAID,KAGR,iBAAfZ,EACPE,EAAKI,QAAUN,MACZ,IAAmB,YAAfA,EAEP,OAhEG,SAASC,GAEZ,IAAIS,EAAMld,EAAE4b,KAAKa,EAAK,iBAAmB,CAAC,EAG1CS,EAAIL,SAAU,EAGdS,aAAaJ,EAAIK,KAGjBvd,EAAEyc,GAAMmB,IAAI,aAChB,CAmDIC,CAAKpB,GACExa,KACJ,GAAmB,mBAAfua,EACP,OAAS,IAAIY,KAAUF,EAAIG,OAC/B,CAGArd,EAAEyc,GAAM9X,GAAG3E,EAAE8d,MAAMpB,EAAKK,OAAO,KAAKhJ,MAAM,KAAK8E,KAAK,iBAlDlC,WAEd,IAAIqE,EAAMld,EAAE4b,KAAK3Z,KAAK,gBAGtBqb,aAAaJ,EAAIK,KAKbL,EAAIL,UAIAK,EAAIN,MACJI,EAAgB/a,MAIpBib,EAAIK,IAAMC,WAAWR,EAAiBE,EAAIJ,SAGjD,IA+BDI,EAAIN,KAAUF,EAAKE,KACnBM,EAAIL,QAAUH,EAAKG,QACnBK,EAAIJ,QAAUJ,EAAKI,QAIlBJ,EAAKC,mBACLO,EAAIK,IAAMC,WAAWR,EAAiBE,EAAIJ,UAI3C9c,EAAE4b,KAAKa,EAAK,YAAY,UAGxBzc,EAAE4b,KAAKa,EAAK,eAAeS,EAI/B,EAIAld,EAAEsX,GAAGiF,UAAY,SAASC,EAAWE,GAUjC,OAREA,IACJA,EAAO,CAAC,GAGHza,KAAK,IACJjC,EAAEuc,UAAUC,EAAWva,KAAK,GAAGya,GAG5Bza,IACX,CAGC,CA7KD,CA6KGc,O,+BC0CH,SAASgb,IAEL,QADgBrZ,SAASsZ,cAAc,eAM3C,CAGA,SAASC,EACLC,EACAC,EACAC,EACAC,GAGA,IAAIC,EAAkBvc,OAAOF,SAAS0c,UACA,IAAlCD,EAAgBxM,QAAQ,OACxBwM,EAAkBA,EAAgBE,UAC9B,EACAF,EAAgBG,YAAY,OAIpC,IAAIC,EAAYX,IAChB,IAAInC,EAAO,CACP+C,YAAaL,EACbM,uBAAwBzM,KAAK0M,MAAM7e,EAAE+B,QAAQ+c,aAC7CZ,eAAgBA,EAChBC,SAAUA,EACVC,gBAAiBA,EACjBC,kBAAmBA,EACnBU,OAAQna,YAAYma,OACpBL,UAAWA,GAEf1e,EAAE0E,UAAUsa,WAAU,SAAUpc,EAAGqc,EAAOjF,EAAUC,GAChDmC,QAAQ3C,IAAI,sBAAwBO,EAASZ,KAC7CgD,QAAQ3C,IAAI7W,EAChB,IACAG,OAAOmc,KAAK,CACR9F,IAAK,GAAGxU,YAAYua,0CACpBC,YAAa,kCACbC,SAAU,OACVzD,KAAM0D,KAAKC,UAAU3D,GACrB4D,OAAQ,OACRC,OAAO,GAEf,C,4HAlDAzf,EAAE0E,UAAUC,GAAG,mBARf,WAzOA,IACQ+a,GAvDR,WAEI,IACI3d,OAAOF,SAAS8d,KAAKnL,MACjB,mGAFR,CAQA,IAAI8J,EAAkBvc,OAAOF,SAAS0c,UACA,IAAlCD,EAAgBxM,QAAQ,OACxBwM,EAAkBA,EAAgBE,UAC9B,EACAF,EAAgBG,YAAY,OAGpC,IAAI7C,EAAO,CACP+C,YAAaL,EACbI,UAAWX,KAEfhb,OACKmc,KAAK,CACF9F,IAAK,GAAGxU,YAAYua,+CACpBvD,KAAMA,EACN6D,OAAO,IAEV7F,MAAK,SAAUgC,GACZ,GAAY,QAARA,EAAgB,CAChB,IACIgE,EAAiBC,EACqB,GAFrBjE,EAAKkE,OAEP,GAAGC,kBAClBH,EAAkB,0BAClBC,EACI,iEAEJD,EAAkB,sBAClBC,EAAgB,qBAEpB,IAAIG,EAAMtb,SAASsZ,cAAc,wBAC7BgC,GACAA,EAAIC,UAAUC,IAAI,2BAEtBlgB,EAAE,wBAAwBmgB,OACtB,4DACAP,EACA,2BACAC,EACA,kBAER,CACJ,GA3CJ,CA4CJ,CA4OIO,QAxO+B,KAD3BV,EAAkB1f,EAAEqgB,UAAU,mBAE9BrgB,EAAE,QAAQmgB,OACN,qGACAvO,SAAS8N,GACT,UAEJ1f,EAAE,cAAcsgB,QAAQ,CAAExB,UAAWlN,SAAS8N,IAAoB,MAI1E,WACI,IACI3d,OAAOF,SAAS8d,KAAKnL,MACjB,iGAFR,CAOA,IACI+L,EADAC,GAAgCxgB,EAAE,mBAAmBygB,aAAe,EAIpEzgB,EAAE,qBAAqB6C,SAAS,uBAChC0d,EAAyBC,EAA+B,GACjDxgB,EAAE,qBAAqB6C,SAAS,6BACvC0d,EAAyB,GAE7B,IAAIG,EAAmC1gB,EAAE,mBAAmBqD,IAAI,SAC5Dsd,IAAiCH,EAA+B,IAEpExgB,EAAE,mBAAmBqD,IAAI,QAASmd,GAA8BI,OAChE,IAAIC,GAAa,EACjB7gB,EAAE+B,QAAQ+e,QAAO,WAET9gB,EAAE+B,QAAQ+c,YAAc9e,EAAE+B,QAAQL,UAClC1B,EAAE0E,UAAUhD,UAEZ1B,EAAE,mBAAmBsgB,QACjB,CAAES,MAAOR,GACT,KAEJvgB,EAAE,kBAAkBsgB,QAAQ,CAAEU,KAAM,OAAS,KACzChhB,EAAE,qBAAqB6C,SAAS,4BAChC7C,EAAE,mBAAmBsgB,QACjB,CAAES,MAAOJ,GACT,KAGRE,GAAa,GACNA,IACP7gB,EAAE,mBAAmBsgB,QACjB,CAAES,MAAOP,GACT,KAEJxgB,EAAE,kBAAkBsgB,QAAQ,CAAEU,KAAM,SAAW,KAC/ChhB,EAAE,mBAAmBsgB,QAAQ,CACzBS,MAAOL,IAEXG,GAAa,EAErB,IAEA,IAAI3C,EAAiB,EAQrBD,EANIC,EADAle,EAAE,qBAAqB6C,SAAS,uBACf,EAEA,GAIY,GAAM,GAAO,GAC9C7C,EAAE,qBAAqB2E,GAAG,SAAS,WAC/B,IAAIyZ,GAAkB,EAClBC,GAAoB,EACpBre,EAAEiC,MAAMY,SAAS,wBACjB7C,EAAEiC,MACGT,YAAY,uBACZJ,SAAS,2BACT8a,KACG,gEAERlc,EAAE,mBAAmBsgB,QAAQ,CAAES,MA7DV,IA8DrB/gB,EAAE,mBAAmBsgB,QAAQ,CACzBS,MAAOJ,IAEXJ,EAAyB,EACzBrC,EAAiB,EACjBE,GAAkB,GACXpe,EAAEiC,MAAMY,SAAS,6BACxB7C,EAAEiC,MACGT,YAAY,2BACZJ,SAAS,uBACT8a,KAAK,qBACVqE,EAAyBC,EAA+B,GACxDxgB,EAAE,mBAAmBsgB,QAAQ,CAAES,MAAOR,IACtCvgB,EAAE,mBAAmBsgB,QAAQ,CACzBS,MAAOL,IAEXxC,EAAiB,EACjBG,GAAoB,GAExBJ,EACIC,GACA,EACAE,EACAC,EAER,GA1FA,CAmGJ,CAsHI4C,GAlHJ,WACI,IAC+D,GAA3Dlf,OAAOF,SAAS8d,KAAK7e,cAAcgR,QAAQ,cACkB,GAA7D/P,OAAOF,SAAS8d,KAAK7e,cAAcgR,QAAQ,gBACmB,GAA9D/P,OAAOF,SAAS8d,KAAK7e,cAAcgR,QAAQ,eAC7C,CACOiM,KACDhb,OAAO2X,IACH,GAAG9V,YAAYua,mDACf,SAAUvD,GACN,IAAIsF,EACJ,GAAY,QAARtF,EAAgB,CAChBsF,EAAiBtF,EAAKkE,OAEtB,IAAIqB,EAAoBnhB,EAAE,0BAC1BA,EAAEQ,KAAK0gB,GAAgB,SAAUzgB,EAAOC,GACpC,IAAK,IAAIsX,EAAI,EAAGA,EAAImJ,EAAkBhgB,OAAQ6W,KAMhC,GAJNmJ,EAAkBnJ,GAAG2H,KAAK7N,QACtBpR,EAAK0gB,YACL,IACA1gB,EAAK2gB,kBAGoB,GAAzB3gB,EAAKqf,iBACL/f,EAAEmhB,EAAkBnJ,GAAGsJ,eAClBlgB,SAAS,aACT+e,OACG,6DACAzf,EAAK6gB,QACL,WAEHvgB,WACAK,QACAmgB,OACG,WACIxhB,EAAEiC,MACGwf,KACG,sBAEHb,MACT,IACA,WACI5gB,EAAEiC,MACGwf,KACG,sBAEHC,MACT,IAEwB,GAAzBhhB,EAAKqf,kBACZ/f,EAAEmhB,EAAkBnJ,GAAGsJ,eAClBlgB,SAAS,UACT+e,OACG,wDACAzf,EAAK6gB,QACL,WAEHvgB,WACAK,QACAmgB,OACG,WACIxhB,EAAEiC,MACGwf,KAAK,mBACLb,MACT,IACA,WACI5gB,EAAEiC,MACGwf,KAAK,mBACLC,MACT,IAKxB,GACJ,CACJ,IAGR,IAAI9F,EAAO,CAAEmD,OAAQna,YAAYma,QACjChc,OAAO2X,IACH,GAAG9V,YAAYua,uCACfvD,GACA,SAAUA,GACN,IAAI+F,EACQ,QAAR/F,GAEoC,OADpC+F,EAAe/F,EAAKkE,QACH8B,iBACb5hB,EAAE,qBACG4gB,OACA1E,KACG,+FACAyF,EAAaC,iBACZD,EAAaE,mBACR,SACFF,EAAaE,mBACX,IACN,aACAF,EAAahD,YACb,iBACAgD,EAAa/C,uBACb,+BAIpB,GAER,CACJ,CAMIkD,EACJ,IAuDA9hB,EAAEiF,OAAO,CACL8c,WAAY,WAMR,IALA,IACIjgB,EADAkgB,EAAO,GAEPC,EAASlgB,OAAOF,SAASqgB,OACxBrQ,MAAM9P,OAAOF,SAASqgB,OAAOpQ,QAAQ,KAAO,GAC5CiC,MAAM,KACFpR,EAAI,EAAGA,EAAIsf,EAAO9gB,OAAQwB,IAC/Bb,EAAOmgB,EAAOtf,GAAGoR,MAAM,KACvBiO,EAAK5O,KAAKtR,EAAK,IACfkgB,EAAKlgB,EAAK,IAAMA,EAAK,GAEzB,OAAOkgB,CACX,EACA3B,UAAW,SAAU8B,GACjB,OAAOniB,EAAE+hB,aAAaI,EAC1B,I,eCjUJpgB,OAAOC,iBAAiB,QAAQ,WAC5Boa,QAAQ3C,IAAI,sBA1ChB,WACI,IAAI2I,EAAK,IAAI,IAEb1d,SAAS2d,iBAAiB,gBAAgBC,SAASC,IAC/CA,EAAGvgB,iBAAiB,SAAS,WACzB,IAAIwgB,EAASD,EAAGE,aAAa,cAC7BL,EAAGM,aAAa,CAAEjF,MAAO,QAASkF,IAAK,QAASH,OAAQA,GAC5D,GAAE,IAEY9d,SAAS2d,iBAAiB,6BAChCC,SAASC,IAEjBA,EAAGvgB,iBAAiB,UAAU,WAC1B,GAAIugB,EAAGK,KAAM,CACT,IAAIJ,EAASD,EAAGM,GAChBT,EAAGM,aAAa,CAAEjF,MAAO,QAASkF,IAAK,OAAQH,OAAQA,GAC3D,CACJ,GAAE,IAGN9d,SAAS2d,iBAAiB,wBAAwBC,SAASQ,IACvDA,EAAI9gB,iBAAiB,SAAS,WAC1B,IAAI+gB,EAAYD,EAAI1f,QAAQ,iBACxB4f,EAAYD,EAAYA,EAAU/E,cAAc,mBAAqB,KAErEwE,GADOQ,GAAYA,EAAUC,YACpBF,EAAYA,EAAUF,GAAK,MAClCL,EAKNJ,EAAGM,aAAa,CAAEjF,MAAO,OAAQkF,IAAK,MAAOH,OAAQA,IAJjDpG,QAAQ8G,KAAK,yDAKrB,GAAE,IAEqB,oBAAhBte,aAAgCA,YAAYC,cACnDH,SAAS2d,iBAAiB,eAAeC,SAASC,IAC9CA,EAAGY,MAAMC,QAAU,MAAM,GAGrC,CAIIC,GACA,IAAI9f,EAAOmB,SAAS4e,eAAe,iCAC/B/f,IACAA,EAAK4f,MAAMI,SAAW,UAE9B,I,wBCrDO,MAAMC,UAAsB,IAC/B,WAAA3O,GACI4O,QACAxhB,KAAKyhB,YACT,CAEA,UAAAA,GAEI3hB,OAAOC,iBAAiB,WAAWyd,MAAOhC,IAEtC,IA4JJkG,EACAC,EA7JQC,EAAe5hB,KAAK6hB,cAAcrG,GAEtC,GADArB,QAAQ3C,IAAI,4CAA4CgE,EAAM7B,KAAKmI,wBAAwBF,EAAeA,EAAahB,GAAK,aAClG,8BAAtBpF,EAAM7B,KAAKmI,QACX9hB,KAAK+hB,oBAAoBvG,EAAOoG,QAC7B,GAA0B,oBAAtBpG,EAAM7B,KAAKmI,QAClB9hB,KAAKgiB,kBAAkBxG,EAAOoG,QAC3B,GAA0B,mBAAtBpG,EAAM7B,KAAKmI,cACZ9hB,KAAKiiB,eAAezG,EAAOoG,QAC9B,GACc,+BAAjBpG,EAAM0G,QACgB,iBAAf1G,EAAM7B,OACoC,GAAjD6B,EAAM7B,KAAK9J,QAAQ,0BACrB,CAEE,IAAIsS,EAAU9E,KAAKnJ,MAAMsH,EAAM7B,MAC3ByI,GA6IZV,EA7IgCS,EAAQC,IA4ItBtQ,MAAM,KAAK,GACV0B,QAAQ,KAAM,KAAKA,QAAQ,KAAM,KACpDmO,EAAcU,mBACdviB,OACKwiB,KAAKZ,GACL5P,MAAM,IACN/B,KAAI,SAAUwS,GACX,MAAO,KAAO,KAAOA,EAAEC,WAAW,GAAG7L,SAAS,KAAK/G,OAAO,EAC9D,IACCgH,KAAK,KAEPyG,KAAKnJ,MAAMyN,IAtJNxH,QAAQ3C,IACJ,8BACI2K,EAAQM,SACR,eACAL,EAAIM,MAKhB,IAER,CAEA,WAAAC,CAAYnH,EAAOoH,GAUf,GAAIA,EAAO,CACP,IAAIC,EAAQD,EAAMzhB,QAAQ,oBAC1B,GAAI0hB,EACA,OAAOA,EAAMjC,EAErB,CACA,IAAIhhB,EAAW4b,EAAM7B,KAAKmJ,YAW1B,OAVKljB,IACGgjB,EACAhjB,EAAWgjB,EAAMG,KAEjBnjB,EAAW,UACXua,QAAQ6I,MACJ,sDAILpjB,CACX,CAEA,mBAAAmiB,CAAoBvG,EAAOoH,GACvBzI,QAAQ3C,IAAI,kCACZ2C,QAAQ3C,IAAIgE,EAAM7B,KAAKmJ,aACvB3I,QAAQ3C,IAAIgE,EAAM7B,KAAK+I,OACvBvI,QAAQ3C,IAAIgE,EAAM7B,KAAKsJ,OACvB,IAAIrjB,EAAWI,KAAK2iB,YAAYnH,EAAOoH,GACvC5iB,KAAKygB,aAAa,CACdjF,MAAOA,EAAM7B,KAAKmI,QAClBvB,OAAQ3gB,EACR8gB,IAAK,UAAUlF,EAAM7B,KAAK+I,QAC1BA,MAAOlH,EAAM7B,KAAK+I,MAClBQ,QAAS1H,EAAM7B,KAAK+I,MACpBS,QAA6B,GAApB3H,EAAM7B,KAAK+I,MACpBU,OAAQ/F,KAAKC,UAAU9B,EAAM7B,KAAKsJ,QAE1C,CAEA,aAAApB,CAAcrG,GAKV,IAAK,MAAM6H,KAAK5gB,SAAS6gB,qBAAqB,UAC1C,GAAID,EAAEE,gBAAkB/H,EAAMtE,OAAQ,OAAOmM,CAGrD,CAEA,mBAAMG,CAAc5jB,GAEhB,IACI,MAAM6jB,QAAiBC,MAAM,yBAA0B,CACnDnG,OAAQ,OACRoG,QAAS,CACL,eAAgB,oBAEpBC,KAAMvG,KAAKC,UAAU,CACjBiD,OAAQ3gB,EACRkd,OAAQna,YAAYma,OACpBtB,MAAO,sBAGf,IAAKiI,EAASI,GACV,MAAM,IAAIxQ,MAAM,uBAAuBoQ,EAASK,UAGpD,aADmBL,EAASM,MAEhC,CAAE,MAAOf,GAEL,OADA7I,QAAQ6I,MAAM,+BAAgCA,GACvC,IACX,CACJ,CAEA,oBAAMf,CAAezG,EAAOoH,GACxBzI,QAAQ3C,IAAI,uBACZ2C,QAAQ3C,IAAIgE,EAAM7B,KAAKmJ,aACvB3I,QAAQ3C,IAAIgE,EAAM7B,KAAKsJ,OAEvB,IAAIrjB,EAAWI,KAAK2iB,YAAYnH,EAAOoH,GAEnCK,SADYjjB,KAAKwjB,cAAc5jB,IACnBie,OAAOuF,OACvB5H,EAAMtE,OAAO8M,YACT,CACIC,WAAYzI,EAAM7B,KAAKsK,WACvBnC,QAAS,2BACTmB,MAAOA,GAEX,IAER,CAEA,iBAAAjB,CAAkBxG,EAAOoH,GAMrBzI,QAAQ3C,IAAI,wBACZ2C,QAAQ3C,IAAIgE,EAAM7B,KAAKmJ,aACvB3I,QAAQ3C,IAAIgE,EAAM7B,KAAKuG,MAEvB,IAAItgB,EAAWI,KAAK2iB,YAAYnH,EAAOoH,GACvC5iB,KAAKygB,aAAa,CACdjF,MAAOA,EAAM7B,KAAKmI,QAClBvB,OAAQ3gB,EACR8gB,IAAKlF,EAAM7B,KAAKuG,MAAQ,WAEhC,CAEA,iBAAAgE,GAAqB,CACrB,eAAAC,GAAmB,CACnB,cAAAC,GAAkB,CAClB,kBAAAC,GAAsB,EC1G1B,MAAMC,EAAa,CAIfC,WAAY,IAAM,kFAClBC,IAAK,IAAM,+BAEXC,cAAe,IACX,uDACJC,SAAU,IAAM,uDAChBC,SAAU,IAAM,+BAChBC,UAAW,IAAM,uDACjBC,eAAgB,IAAM,uDACtBC,SAAU,IAAM,sDAChBC,OAAQ,IAAM,+BACdC,SAAU,IAAM,uDAChBC,SAAU,IAAM,uDAChBC,eAAgB,IAAM,sDACtBC,SAAU,IAAM,gEAChBC,QAAS,IAAM,8BACfC,KAAM,IAAM,+BACZC,OAAQ,IAAM,+BACdC,OAAQ,IAAM,+BACdC,eAAgB,IAAM,uDACtBC,YAAa,IACT,uDACJC,SAAU,IAAM,8BAChBC,cAAe,IAAM,+BACrBC,YAAa,IAAM,uDACnBC,YAAa,IAAM,+BACnBC,gBAAiB,IAAM,mKACvBC,SAAU,IAAM,uDAEhBC,QAAS,IAAM,+BACfC,QAAS,IAAM,+BACfC,OAAQ,IAAMC,QAAQvO,WAGpBwO,EAAmB,CAAC,EACpBC,EAAsB,GACtBC,EAAQ,GACd,IAAIC,EAAiB,EAmBrB/I,eAAegJ,IACX,GAAqB,IAAjBF,EAAMpnB,OACN,OAEJ,GAAIic,KAAKsL,MAAQF,EAAiBF,EAE9B,YADAvmB,OAAOyb,WAAWiL,EAAYH,EAAsB,GAMxDE,EAAiBpL,KAAKsL,MACtB,MAAMC,EAAU,IAAIJ,GACpBA,EAAMpnB,OAAS,EACfib,QAAQ3C,IACJ,8EACAkP,EAAQ3W,KAAKtR,GAASA,EAAKkoB,kBAE/B,MAAMC,EAAiBF,EAAQ3W,KAAIyN,MAAO/e,IACtC,IAKI,aAJM6lB,EAAW7lB,EAAKkoB,kBACtBxM,QAAQ3C,IACJ,uBAAuB/Y,EAAKkoB,kCAEzBloB,CACX,CAAE,MAAOkC,GACLlC,EAAKooB,OAAOlmB,EAChB,KAEEmmB,QAAgBX,QAAQY,IAAIH,GAClC,IACIE,EAAQzG,SAAQ,SAAU5hB,GAClBA,GACAA,EAAKmZ,SAEb,GACJ,CAAE,MAAOjX,GACLwZ,QAAQ6I,MAAMriB,EAClB,CACJ,CAOA,IAAIqmB,EAA6B,IAAIb,SAASvO,GAC1C7Z,EAAE0E,UAAUC,GAAG,+BAAgCkV,KAI5C,SAASqP,IAEZ,MAAMlR,EAAI,IAAImR,IAEVnpB,EAAE,oBACGgS,KAEG,CAACvR,EAAO2oB,IAAYppB,EAAEopB,GAAS9nB,KAAK,oBAGvCoZ,OAGLhW,SAASsZ,cAAc,oBACvBhG,EAAEkI,IAAI,WAIV,MAAMmJ,EAAI,IAAIrR,GAAGhG,KAAKsX,IAClB,IAAIC,EACJnN,QAAQ3C,IAAI,gCAAgC6P,KAC5C,IACIC,GAAKhD,EAAW+C,IAAU,KAAOlB,QAAQvO,aAC7C,CAAE,MAAOjX,GACLwZ,QAAQ6I,MAAM,iBAAiBqE,KAAU1mB,EAC7C,CAEA,OADA2mB,EAAEtE,MAASuE,GAAQpN,QAAQ6I,MAAM,YAAYqE,KAAUE,GAChDD,CAAC,IAIZnB,QAAQY,IAAI,CAACC,KAA+BI,IAAII,MAAK,WAC5C/kB,SAASmhB,KAAK6D,QAAQC,YACvBjlB,SAASklB,cAAc,IAAIC,YAAY,4BAE/C,GACJ,CAYOpK,eAAeqK,EAAiBlB,GACnC,GAAIP,EAAiBO,GACjB,OAAOP,EAAiBO,GAE5BxM,QAAQ3C,IACJ,uBAAuBmP,gCAE3B,MAAM1O,EAvHV,SAAqB0O,GACjB,IAAI/O,EAAU,KACViP,EAAS,KACb,MAAMiB,EAAa,IAAI3B,SAAQ,CAAC4B,EAAGC,KAC/BpQ,EAAUmQ,EACVlB,EAASmB,CAAG,IAEVvpB,EAAO,CAAEkoB,iBAAgB/O,UAASiP,UAIxC,OAHAP,EAAMnV,KAAK1S,GACXqB,OAAOyb,WAAWiL,EAAYH,EAAsB,GAE7CyB,CACX,CA2GoBG,CAAYtB,GAE5B,OADAP,EAAiBO,GAAkB1O,EAC5BA,CACX,CApBA+O,EAA2BQ,MAAK,KAC5BrN,QAAQ3C,IAAI,+BAA+B,IAI/CzZ,EAAE0E,UAAUylB,MAAMjB,GAuClB,MAAMkB,EAAa1lB,SAAS2lB,cAAcrF,IAC1C,IAA0BoF,EAAW5L,UACjC,EACA4L,EAAW3L,YAAY,KAAO,GAGrB,IAAI+E,EAMjB,MAAM8G,EAAK,CAAC,EACZA,EAAGR,iBAAmBA,EACtBQ,EAAGpB,sBAAwBA,EAC3BoB,EAAGC,UCzQI,WACH,MAAMC,EAAe9lB,SAASsZ,cAAc,wCACtCyM,EAAe3mB,aAAa4mB,QAAQ,SAAW5mB,aAAa4mB,QAAQ,SAAW,KAEjFD,IACA/lB,SAASimB,gBAAgBC,aAAa,aAAcH,GAE/B,SAAjBA,IACAD,EAAaK,SAAU,GAGnC,ED+PAP,EAAGQ,YC7PI,WAGqB,GADZpmB,SAAS4e,eAAe,YACvBuH,SACTnmB,SAASimB,gBAAgBC,aAAa,aAAc,QACpD9mB,aAAaC,QAAQ,QAAS,UAG9BW,SAASimB,gBAAgBC,aAAa,aAAc,SACpD9mB,aAAaC,QAAQ,QAAS,SAEtC,EDmPAumB,EAAGS,eAvCHtL,iBAKI,SAHMqK,EAAiB,eAGlBllB,YAAYomB,WAAY,CACzBjpB,OAAOkpB,UAAUC,0BACjB,IAAIC,EAAQvmB,YAAYomB,WACxBjpB,OAAOqpB,aAAaD,GAASF,UAAUI,iBACnCrrB,EAAE,IAAImrB,KAAS,GACfvmB,YAAY0mB,mBAEZ1mB,YAAY2mB,YACZxpB,OAAOqpB,aAAaD,GAAOK,gBAEnC,CACAhO,YAAW,KACPzb,OAAOkpB,UAAUQ,yBAAyB,GAC3C,IACP,EAqBAnB,EAAGoB,mBAAqB,KACxB3pB,OAAOqpB,aAAe,CAAC,EACvBrpB,OAAO4pB,oBAAsBrB,C,+DE1PzBsB,EAAc,CAAC,cAAe,WAAY,QAAS,OAAQ,cAC3D,YAAa,iBAAkB,WAAY,OAAQ,eACxC,MAAMC,EACjB,WAAAhX,CAAY6H,GACRza,KAAK6pB,wBAA0B,IAAI1D,SAC9BvO,GAAa5X,KAAK8pB,4BAA8BlS,IAErD5X,KAAK+pB,UAAW,OACoB,IAAzBjqB,OAAOkqB,gBACdlqB,OAAOkqB,cAAgB,IAE3BlqB,OAAOkqB,cAAc7Y,KAAKnR,MACtBya,IACAza,KAAKiqB,IAAMxP,EAAKwP,IAChBjqB,KAAKkqB,aAAezP,EAAKyP,aACzBlqB,KAAKmqB,cAAe,EAChB1P,EAAK2P,QACLpqB,KAAKqqB,SAAU,GAEf5P,EAAK6P,kBACLtqB,KAAKuqB,SAAW9P,EAAK8P,UAEzBvqB,KAAK+pB,SAAW/pB,KAAKwqB,sBAAsB/P,EAAKgQ,KAAM,iBAClDhQ,EAAKiQ,cACL1qB,KAAK0qB,YAAcjQ,EAAKiQ,kBAEQ,IAAzBjQ,EAAKkQ,gBACZ3qB,KAAK2qB,gBAAkBlQ,EAAKkQ,gBAG5B3qB,KAAK2qB,iBAAkB,OAKM,IAAtBlQ,EAAKmQ,aACZ5qB,KAAK4qB,aAAenQ,EAAKmQ,aAMrBhrB,SAAS8d,KAAK7N,QAAQ,iBAAmB,EACzC7P,KAAK4qB,aAAe7sB,EAAE,sBAAsB8C,OAE5Cb,KAAK4qB,aAAe,KAGxB7sB,EAAE0c,EAAKgQ,MAAM9Q,KAAK,oBAClB3Z,KAAK6qB,eAAiB9sB,EAAE0c,EAAKgQ,MAAM9Q,KAAK,mBAE5C3Z,KAAK8qB,UAAmBrQ,EAAKqQ,UAC7B9qB,KAAK+qB,UAAmBtQ,EAAKsQ,WAEjC/qB,KAAKgrB,WAAa,GAClB,IAAIC,EAAOjrB,KAKX,GAJAA,KAAKkrB,QAAU,IAAI/E,SAAQ,SAAUvO,EAASiP,GAC1CoE,EAAKE,WAAavT,CACtB,IACA5X,KAAKorB,OAAS,IAAIC,EACd5Q,QAAiC,IAAlBA,EAAK6Q,SAA0B,CAC9CtrB,KAAKsrB,SAAW7Q,EAAK6Q,SACrB,IAAIC,EAAI9oB,SAAS+oB,cAAc,OAC/BD,EAAEvN,UAAUC,IAAI,kBAChBsN,EAAEvN,UAAUC,IAAI,gBAChBsN,EAAEE,UAAY,MAAQzrB,KAAKsrB,SAAW,MAEtC7Q,EAAKgQ,KAAKiB,YAAYH,GACtBA,EAAE3K,GAAK,eACP2K,EAAErK,MAAMC,QAAU,OAGlBnhB,KAAKorB,OAAOE,SAAWC,CAC3B,CAEAvrB,KAAK2rB,YAAc,IAAIC,QAAQ,CAC3B,eAAgB,kCAChBC,OAAQ,oBAEhB,CAIA,qBAAArB,CAAsBrD,EAAS2E,GAC3B,MAAMC,EAAY5E,EAAQ3G,aAAasL,GACvC,GAAkB,OAAdC,EACA,OAAO,EAEX,MAAMC,EAAaD,EAAUltB,cAC7B,MAAmB,UAAfmtB,GAAyC,OAAfA,CAIlC,CAKA,kBAAMvL,CAAawL,GACf,GAAIjsB,KAAKkqB,aACL,OAEJ,IAAIgC,EAqBJ,GApBAD,EAAUE,YAAcxpB,YAAYma,OACpCmP,EAAUG,kBAAoBzpB,YAAY2mB,WAC1C2C,EAAUI,gBAAiB,IAAIlR,MAAOmR,oBAAsB,GAExDtsB,KAAK0qB,cACLuB,EAAUvB,YAAc1qB,KAAK0qB,aAEL,iBAAjB1qB,KAAKkjB,UACZ+I,EAAU/I,QAAUljB,KAAKkjB,SAEzBpjB,OAAOysB,eACPN,EAAUO,cAAgB1sB,OAAOysB,cAGjC5pB,YAAY2mB,YACZ3mB,YAAY8pB,sBACZ9pB,YAAY+pB,SAAW,IAEvBR,EAAclsB,KAAK2sB,eAAeV,KAEjCjsB,KAAKqqB,SAAW1nB,YAAYuX,MAAO,CACpC,IAAI0S,EAASjqB,YAAY2mB,WAAa,OAAS,MAC/CnP,QAAQ3C,IAAI,GAAGoV,mBAA0BvP,KAAKC,UAAU2O,GAC5D,CA0BA,OApBIjsB,KAAK0qB,cACLuB,EAAU1L,OAASvgB,KAAK0qB,YAAYlX,QAChC,0BACA,IAEJyY,EAAUzQ,MAAQ,iBAClByQ,EAAUvL,IAAM,cAChB1gB,KAAK2sB,eAAeV,IAG0B,mBAAvC,IAAoBY,gBACV,QAAjBZ,EAAUvL,KACO,GAAjB1gB,KAAK+pB,UAEL,IAAoB8C,eAAeZ,EAAU1L,SAGH,IAA1CoJ,EAAY9Z,QAAQoc,EAAUzQ,QAC9Bxb,KAAK8sB,iBAEFZ,CACX,CAEA,oBAAMS,CAAeV,GACjB,IAAIC,EACJ,IAAIa,EAAU,IAAIC,QACd,GAAGrqB,YAAYua,qCACf,CACIK,OAAQ,OACRoG,QAAS3jB,KAAK2rB,YACd/H,KAAMvG,KAAKC,UAAU2O,KAG7B,IACI,IAAIxI,QAAiBC,MAAMqJ,GAC3B,IAAKtJ,EAASI,GAAI,CACd,GAAwB,MAApBJ,EAASK,OAIT,MAFAoI,QAAoBzI,EAASM,OAC7B5J,QAAQ3C,IAAI6F,KAAKC,UAAU4O,EAAYrO,OAAQ,KAAM,IAC/C,IAAIxK,MAAM,yBACb,GAAuB,KAAnBoQ,EAASK,OAKhB,MAJAoI,QAAoBzI,EAASM,OAC7B5J,QAAQ3C,IACJ,gCAAgC0U,EAAYrO,UAE1C,IAAIxK,MAAM,gCAEpB,MAAM,IAAIA,MAAM,6DACFoQ,EAASK,SAC3B,CAEA,IAAImJ,GADJf,QAAoBzI,EAASM,QACDlG,OACxBqP,EAAW,KACf,GAAIltB,KAAK0qB,YAAa,CAClB,IAAIA,EAAc1qB,KAAK0qB,YAAYlX,QAC/B,0BACA,IAEJ0Z,EAAWzqB,SAAS4e,eAAe,GAAGqJ,UAC1C,MACIwC,EAAWzqB,SAAS4e,eAAe,GAAGrhB,KAAKkpB,eAE3CgE,IAAaltB,KAAKqqB,SAAW4C,EAAUvK,OACvC1iB,KAAKmtB,aAAaD,EAAUD,EAEpC,CAAE,MAAOtsB,GACL,IAAIkd,EAAS,OACTqO,GAAeA,EAAYrO,SAC3BA,EAASqO,EAAYrO,QAErBlb,YAAY8pB,sBACZW,MAAM,wEACczsB,uCACD8iB,EAASK,uCACdzG,KAAKC,UAAUO,EAAQ,KAAM,sDAI/C1D,QAAQ3C,IACJ,UAAU7W,aAAakd,kBAAuB4F,EAASK,SAE/D,CACA,OAAOoI,CACX,CAGA,YAAAiB,CAAaD,EAAUD,GACnB,IAAKA,EAAUI,UAAgC,OAApBJ,EAAUvK,MAEjC,YADAjgB,SAAS4e,eAAe,GAAGrhB,KAAKkpB,iBAAiBuC,UAAY,+CAGjE,IAAI6B,EAAYJ,EAASK,uBAAuB,UAAU,GACtDD,IACAA,EAAU7B,UAAYwB,EAAUvK,MAAM8K,QAAQ,IAElD,IAAIC,EAAYhrB,SAAS8qB,uBAAuB,UAC5CG,EAASjrB,SAAS8qB,uBAAuB,aACzCI,EAAQ,EACRC,EAAM,EACV,IAAK,IAAIltB,EAAI,EAAGA,EAAI+sB,EAAUvuB,OAAQwB,IAClCitB,GAAS5c,WAAW0c,EAAU/sB,GAAG+qB,WACjCmC,GAAO7c,WAAW2c,EAAOhtB,GAAG+qB,WAEhC,IAAIoC,EAAYprB,SAAS4e,eAAe,eACpCwM,IACAA,EAAUpC,UAAYkC,EAAMH,QAAQ,IAExC,IAAIM,EAAUrrB,SAAS4e,eAAe,aAClCyM,IACAA,EAAQrC,UAAYmC,GAExB,IAAIG,EAActrB,SAAS4e,eAAe,iBACtC0M,IACAA,EAAYtC,WAAckC,EAAQC,EAAO,KAAKJ,QAAQ,GAE9D,CAOA,iBAAMQ,CAAY/B,GACd,IAAIgC,EAAe,OACnB,IAAIjuB,KAAKkqB,aAAT,CAYA,GATA+B,EAAUnP,OAASna,YAAYma,OAC/BmP,EAAUG,kBAAoBzpB,YAAY2mB,WAC1C2C,EAAUI,gBAAiB,IAAIlR,MAAOmR,oBAAsB,IACxDtsB,KAAKkuB,WAAa,YAAajC,GAAc,KAC7CA,EAAUkC,UAAY,aAEO,IAAtBlC,EAAUmC,UACjBnC,EAAUmC,QAAUnC,EAAUmC,QAAQzX,YAGtChU,YAAY2mB,YACZ3mB,YAAY8pB,sBACZ9pB,YAAY+pB,SAAW,EACzB,CACE,IAAIK,EAAU,IAAIC,QACd,GAAGrqB,YAAYua,kCACf,CACIK,OAAQ,OACRoG,QAAS3jB,KAAK2rB,YACd/H,KAAMvG,KAAKC,UAAU2O,KAGzBxI,QAAiBC,MAAMqJ,GACtBtJ,EAASI,GAsBVoK,QAAqBxK,EAASM,QArB9BkK,QAAqBxK,EAASM,OAC1BphB,YAAY8pB,qBACZW,MAAM,+DACU3J,EAASK,2CACXzG,KAAKC,UACf2Q,EAAapQ,OACb,KACA,MAGJ1D,QAAQ3C,IACJ,4DACWiM,EAASK,4CACTzG,KAAKC,UACZ2Q,EAAapQ,OACb,KACA,MAOpB,CAUA,OATK7d,KAAKqqB,UAAW1nB,YAAYuX,OAC7BC,QAAQ3C,IAAI,WAAa6F,KAAKC,UAAU2O,IAGM,mBAAvC,IAAoBY,gBACV,GAAjB7sB,KAAK+pB,UAEL,IAAoB8C,eAAeZ,EAAU1L,QAE1C0N,CA1DP,CA2DJ,CAOA,iBAAMI,CAEFpC,EAIAqC,GAAgB,GAGhB,IAAIrD,EAAOjrB,KAIX,GAHAA,KAAKuuB,oBAAsB,IAAIpI,SAAQ,SAAUvO,EAASiP,GACtDoE,EAAKuD,WAAa5W,CACtB,IAEIjV,YAAY2mB,aACXtpB,KAAKysB,sBAAwBzsB,KAAKkqB,cACrC,CACE,IAAIvQ,EAAO,CAAC,EAmBZ,GAlBAA,EAAK4G,OAASvgB,KAAKkpB,MACnBvP,EAAKmD,OAASna,YAAYma,OAC1BnD,EAAK6B,MAAQyQ,EACTjsB,KAAKkqB,cAAgBlqB,KAAKuqB,WAC1B5Q,EAAK4Q,SAAWvqB,KAAKuqB,SACrB5Q,EAAK8U,YAAczuB,KAAKyuB,YACxB9U,EAAK+U,MAAQ1uB,KAAK0uB,OAElB1uB,KAAKiqB,MACLtQ,EAAKsQ,IAAMjqB,KAAKiqB,KAEdtQ,EAAK4G,QAAU5G,EAAKmD,QAAUnD,EAAK6B,OACrCrB,QAAQ3C,IACJ,oCAAoCmC,EAAK4G,UAAU5G,EAAKmD,UAAUnD,EAAK6B,SAM1E7Y,YAAYgsB,eACZhsB,YAAYisB,OACb5uB,KAAK2qB,gBA2CL3qB,KAAK6uB,SAAS,CAAC,GACf1U,QAAQ3C,IAAI,yCACZxX,KAAKwuB,WAAW,iBA5ClB,CACE,IAAIzB,EAAU,IAAIC,QACd,GAAGrqB,YAAYua,uCACf,CACIK,OAAQ,OACRqG,KAAMvG,KAAKC,UAAU3D,GACrBgK,QAAS3jB,KAAK2rB,cAGtB,IACI,IAAIlI,QAAiBC,MAAMqJ,GAC3B5S,QAAQ3C,IAAI,yBAAyBiM,EAASK,UAC1CL,EAASI,IACTlK,QAAa8J,EAASM,OACtBpK,EAAOA,EAAKkE,OACZ1D,QAAQ3C,IAAI,qBAAqB6F,KAAKC,UAAU3D,oCAChD3Z,KAAK8uB,sBAAsBnV,GAC3B3Z,KAAK+uB,WAAY,OACW,IAAjBpV,EAAKwJ,QACZnjB,KAAKmjB,QAAUxJ,EAAKwJ,QAEpBnjB,KAAKmjB,QAAU,KAEnBhJ,QAAQ3C,IAAI,0CACZxX,KAAKwuB,WAAW,YAEhBrU,QAAQ3C,IACJ,+BAA+BiM,EAASuL,cAE5ChvB,KAAKkkB,oBACL/J,QAAQ3C,IAAI,yCACZxX,KAAKwuB,WAAW,SAExB,CAAE,MAAOS,GACL9U,QAAQ3C,IAAI,0BAA0ByX,KACtC,IACIjvB,KAAKkkB,mBACT,CAAE,MAAO+K,GACL9U,QAAQ3C,IAAIyX,EAChB,CACJ,CACJ,CAKJ,MACIjvB,KAAKkkB,oBACL/J,QAAQ3C,IAAI,yCACZxX,KAAKwuB,WAAW,SAGhBF,GACAtuB,KAAKkvB,0BAEb,CAGA,wBAAAA,GAEIlvB,KAAKmvB,aAAanR,UAAUC,IAAI,6BAEhCje,KAAK8pB,6BACT,CAEA,QAAA+E,CAASlV,GAGL,OAAO,IACX,CAYA,qBAAAmV,CAAsBnV,GAEL,OAATA,GAA0B,YAATA,GAAsB3Z,KAAKovB,gBAAgBzV,IAC5D3Z,KAAKokB,eAAezK,GACpB3Z,KAAKmkB,gBAAgBxK,IAErB3Z,KAAKkkB,oBAETlkB,KAAK8sB,gBACT,CACA,eAAAsC,CAAgBzV,GAEZ,GACqB,MAAjBA,EAAKwJ,UACY,IAAjBxJ,EAAKwJ,SACmB,IAAxBthB,aAAa3C,SACS,IAAtBc,KAAKkqB,cACLlqB,KAAKqqB,QAEL,OAAO,EAEX,IAIIgF,EAJAC,EAAKztB,aAAa4mB,QAAQzoB,KAAKuvB,mBACnC,GAAW,OAAPD,EACA,OAAO,EAGX,IACID,EAAahS,KAAKnJ,MAAMob,EAC5B,CAAE,MAAOL,GAKL,OAHA9U,QAAQ3C,IAAIyX,EAAIlb,SAChBlS,aAAa2tB,WAAWxvB,KAAKuvB,oBAEtB,CACX,CACA,GAAI5V,EAAKyJ,QAAUiM,EAAWjM,OAAQ,OAAO,EAC7C,IAAIqM,EAAc,IAAItU,KAAKkU,EAAWK,WAEtC,OADiB,IAAIvU,KAAKxB,EAAK+V,YACVD,CACzB,CAEA,eAAAF,GACI,OACI5sB,YAAYgtB,MACZ,IACAhtB,YAAYma,OACZ,IACA9c,KAAKkpB,MACL,QAER,CACA,UAAA0G,CAAWC,GAEP,IAAK7vB,KAAKqqB,QAAS,CACf,IAAIyF,EAASrtB,SAAS+oB,cAAc,KAChCxrB,KAAK6qB,gBAEL7qB,KAAK+vB,QAAUptB,YAAY8pB,qBACrB,aAAazsB,KAAK6qB,kBAAkB7qB,KAAK+vB,mDAAmD/vB,KAAKkpB,gBACjG,aAAalpB,KAAK6qB,kBAAkB7qB,KAAK+vB,UAC/ChyB,EAAE+xB,GAAQ7V,KAAKja,KAAK+vB,SACpBhyB,EAAE+xB,GAAQ3wB,SAAS,GAAG0wB,eAGtB9xB,EAAE+xB,GAAQ7V,KACNtX,YAAY8pB,qBACNzsB,KAAK+vB,QAAU,KAAO/vB,KAAKkpB,MAAQ,IACnClpB,KAAK+vB,SAEfhyB,EAAE+xB,GAAQ3wB,SAAS,GAAG0wB,aACtB9xB,EAAE+xB,GAAQ3wB,SAAS,GAAG0wB,mBAE1B7vB,KAAK8vB,OAASA,EAEd9vB,KAAKmvB,aAAazD,YAAYoE,EAClC,CACJ,CAEA,eAAAE,GACI,OAAOhwB,KAAKiwB,UAChB,CAEA,kBAAAC,GACI/V,QAAQ3C,IACJ,wEAER,CAEA,sBAAM2Y,GACFhW,QAAQ3C,IACJ,sEAER,CACA,cAAA4Y,GACIjW,QAAQ3C,IACJ,oEAER,CACA,kBAAA6M,GACIlK,QAAQ3C,IACJ,wEAER,CAEA,QAAAb,GACI,MAAO,GAAG3W,KAAK4S,YAAYsN,SAASlgB,KAAKkpB,OAC7C,CAEA,YAAAmH,CAAaC,GACT,MAAuB,oBAAZC,SACPpW,QAAQ3C,IAAI,kCACL2O,QAAQvO,QAAQ,OAWnB2Y,QAAQC,oBACiC,IAA9B1wB,OAAO2wB,mBACP3wB,OAAO2wB,mBAAmBjJ,MAAK,IAClCxnB,KAAKmrB,WAAWnrB,KAAKorB,OAAOsF,QAAQJ,MAGjCtwB,KAAKmrB,WAAWnrB,KAAKorB,OAAOsF,QAAQJ,KAG/CnW,QAAQ3C,IAAI,wBAAwB+Y,QAAQC,kBAC5CjV,YAAW,IAAMvb,KAAKqwB,aAAaC,IAAY,KAC/CnW,QAAQ3C,IAAI,8BAA8BxX,KAAKkrB,WACxClrB,KAAKkrB,QAGxB,CAEA,cAAA4B,GACI,GAAI9sB,KAAKqqB,SAAW1nB,YAAYisB,KAAM,OACtC,IAAI/L,EAAQ9kB,EAAEiC,KAAKmvB,cAAchuB,QAAQ,iBAAiB,GACrD0hB,IACLA,EAAM7E,UAAU/d,OAAO,eACvB4iB,EAAM7E,UAAU/d,OAAO,eACvB4iB,EAAM7E,UAAU/d,OAAO,aACnBD,KAAKmjB,QACLN,EAAM7E,UAAUC,IAAI,aAEC,OAAjBje,KAAKmjB,cAA4C,IAAjBnjB,KAAKmjB,QACrCN,EAAM7E,UAAUC,IAAI,eAEpB4E,EAAM7E,UAAUC,IAAI,eAGhC,EAQJ,MAAM0S,EACF,WAAA/d,GACI5S,KAAK4wB,OAAS,EAClB,CACA,OAAAF,CAAQjyB,GACJuB,KAAK4wB,OAAOzf,KAAK1S,EACrB,CACA,OAAAoyB,GACI,OAAO7wB,KAAK4wB,OAAOE,OACvB,CACA,QAAIC,GACA,OAAO/wB,KAAK4wB,OAAO1xB,MACvB,EAGJ,MAAMmsB,UAAkBsF,EACpB,WAAA/d,GACI4O,QACAxhB,KAAKgxB,iBAAkB,CAC3B,CAEA,OAAAN,CAAQJ,GACJ,OAAO,IAAInK,SAAQ,CAACvO,EAASiP,KACzBrF,MAAMkP,QAAQ,CAAEJ,YAAW1Y,UAASiP,WACpC7mB,KAAK6wB,SAAS,GAEtB,CAEA,aAAMA,GACF,GAAI7wB,KAAKgxB,gBAAiB,OAAO,EAEjC,IAAIvyB,EAAO+iB,MAAMqP,UAEjB,IAAKpyB,EAAM,OAAO,EAClB,IAAIwyB,EAAKjxB,KACT,IACIA,KAAKgxB,iBAAkB,EAEvB,IAAIE,QAAgBpxB,OAAO2wB,mBACtBjJ,MAAKhK,iBAIF,GAHArD,QAAQ3C,IACJ,mDAAmD/Y,EAAK6xB,UAAU1P,MAAMqQ,EAAG3F,UAAUG,aAErFwF,EAAG3F,SAAU,OACPiF,QAAQC,eAAe,CAACS,EAAG3F,WAGjC,IAAI6F,EAAc1uB,SAAS+oB,cAAc,OAMzC,OALA2F,EAAY1F,UAAYwF,EAAG3F,SAASG,UACpChtB,EAAK6xB,UAAUc,sBAAsB,aAAcD,GACnDhX,QAAQ3C,IACJ,oCAAoC/Y,EAAK6xB,UAAU1P,YAE1C2P,QAAQC,eAAe,CAAC/xB,EAAK6xB,WAC9C,CACI,aAAaC,QAAQC,eAAe,CAAC/xB,EAAK6xB,WAElD,IAEJtwB,KAAKgxB,iBAAkB,EACvBvyB,EAAKmZ,QAAQsZ,EACjB,CAAE,MAAOvwB,GACLX,KAAKgxB,iBAAkB,EACvBvyB,EAAKooB,OAAOlmB,EAChB,CAAE,QAEEX,KAAK6wB,SACT,CAEA,OAAO,CACX,EAGJ/wB,OAAO8pB,cAAgBA,C,wDC3jBvB,MAAMyH,EACF,WAAAze,CAAY0e,GAOR,GANAtxB,KAAKuxB,SAAW,EAChBvxB,KAAK2tB,MAAQ,EACT2D,GAAW,oBAAqBA,IAChCtxB,KAAKwxB,gBAAkBF,EAAQE,uBACxBF,EAAQE,iBAEfF,GAAWlZ,OAAOqZ,KAAKH,GAASpyB,OAAS,EACzCc,KAAK0xB,WAAaJ,MACf,CACH,IAAII,EAAa,CAAEC,KAAM,GACzBlvB,SAAS2d,iBAAiB,cAAcC,SAAQ,SAAU1f,GACtD+wB,EAAW/wB,EAAEixB,kBAAkBhR,IAAM,CACzC,IACA5gB,KAAK0xB,WAAaA,CACtB,CAGA,GAFA1xB,KAAK6xB,oBAGD/xB,OAAOF,SAAS0c,SAAS/J,MACrB,8DAEN,CACE,MAAMuf,EAAsBrvB,SAAS4e,eACjC,uBAEAyQ,IAAqBA,EAAoB5Q,MAAMC,QAAU,OACjE,CACAnhB,KAAK+xB,gBACT,CAEA,iBAAAF,GACI,IAAK,IAAIG,KAAKhyB,KAAK0xB,gBACL5hB,IAANkiB,IACAhyB,KAAKuxB,WACDvxB,KAAK0xB,WAAWM,GAAK,GACrBhyB,KAAK2tB,QAIrB,CAEA,cAAAoE,GACI,IAAI1K,EAAQ,EACZ,MAAM4K,EAAkBxvB,SAAS4e,eAAe,mBAC5C4Q,IAAiBA,EAAgBjR,YAAchhB,KAAK2tB,OACxD,MAAMuE,EAAiBzvB,SAAS4e,eAAe,kBAC3C6Q,IAAgBA,EAAelR,YAAchhB,KAAKuxB,UACtD,IACIlK,EAAS,IAAMrnB,KAAK2tB,MAAS3tB,KAAKuxB,QACtC,CAAE,MAAO5wB,GACL0mB,EAAQ,CACZ,CAEA,IAAI8K,EAAqB1vB,SAAS4e,eAAe,sBACjD,GAAI8Q,GAAqD,aAA/BA,EAAmBvzB,QAAwB,CAEjE,MAAMwzB,EAAe3vB,SAAS+oB,cAAc,YAC5C4G,EAAaxR,GAAK,qBAClBwR,EAAaxE,IAAM,IACnBwE,EAAa/K,MAAQA,EAErB+K,EAAaC,UAAYF,EAAmBE,UAC5CF,EAAmB7xB,YAAY8xB,GAC/BD,EAAqBC,CACzB,MAAWD,IACPA,EAAmBvE,IAAM,IACzBuE,EAAmB9K,MAAQA,GA2B/B,GAzBIrnB,KAAKwxB,iBAKoBxxB,KAAK2tB,MAAQ,IAElC3tB,KAAKwxB,gBAAgBc,qBAAuB,IAE5CtyB,KAAKuyB,4BAA4B/K,MAAK,KAClCrN,QAAQ3C,IAAI,+BAGZ+D,YAAW,KACP,IAAIiX,EAAK/vB,SAAS4e,eAAe,oBAE7BmR,GACiC,sBAAjCA,EAAGxR,YAAYniB,eAEf2zB,EAAGC,OACP,GACD,IAAI,KAId9vB,YAAY2mB,WAAY,CACzB,MAAMoJ,EAAgBjwB,SAAS4e,eAAe,sBAC1CqR,GAAeA,EAAc1U,UAAUC,IAAI,YACnD,CACJ,CAEA,cAAA4O,CAAetM,GAGX,GAFAvgB,KAAK0xB,WAAWnR,KAEgB,IAA5BvgB,KAAK0xB,WAAWnR,GAAe,CAC/BvgB,KAAK2tB,QACL,IAAIgF,EAAO,IAAM3yB,KAAK2tB,MAAS3tB,KAAKuxB,SACpC,MAAMqB,EAAmBnwB,SAAS4e,eAAe,mBAC7CuR,IAAkBA,EAAiB5R,YAAchhB,KAAK2tB,OAC1D,MAAMkF,EAAkBpwB,SAAS4e,eAAe,kBAC5CwR,IAAiBA,EAAgB7R,YAAchhB,KAAKuxB,UACxD,IAAIuB,EACArwB,SAAS4e,eAAe,sBAiB5B,GAfIyR,GACgC,aAAhCA,EAAoBl0B,UAEpBk0B,EAAoBzL,MAAQsL,GAG5B3yB,KAAKwxB,iBACwC,OAA7CxxB,KAAKwxB,gBAAgBc,qBACrBtyB,KAAK2tB,OAAS3tB,KAAKwxB,gBAAgBc,sBAEnCnY,QAAQ3C,IAAI,iCACZxX,KAAKuyB,4BAA4B/K,MAAK,KAClCrN,QAAQ3C,IAAI,qBAAqB,KAI9B,KAAPmb,GACA,WACI,MAAMH,EAAK/vB,SAAS4e,eAAe,oBACnC,OACImR,GACAA,EAAGxR,aAC8B,sBAAjCwR,EAAGxR,YAAYniB,aAEtB,CAPD,GAQF,CACE,MAAM2zB,EAAK/vB,SAAS4e,eAAe,oBAC/BmR,GAA0B,mBAAbA,EAAGC,OAChBD,EAAGC,OAEX,CACJ,CACJ,CAEA,+BAAMF,GACF,IAAI5O,EAAU,IAAIiI,QAAQ,CACtB,eAAgB,kCAChBC,OAAQ,qBAERlS,EAAO,IAAK3Z,KAAKwxB,iBACjBzE,EAAU,IAAIC,QACd,GAAGrqB,YAAYua,gDACf,CACIK,OAAQ,OACRqG,KAAMvG,KAAKC,UAAU3D,GACrBgK,QAASA,IAGjB,IACI,IAAIF,QAAiBC,MAAMqJ,GACtBtJ,EAASI,IACV1J,QAAQ6I,MACJ,iCAAiCS,EAASuL,cAGlDrV,QAAa8J,EAASM,MAC1B,CAAE,MAAOpjB,GACLwZ,QAAQ6I,MAAM,+BAA+BriB,IACjD,CACJ,EAGG,IAAIoyB,EAAsB,CAAC,EAuO3B,SAASC,EAAmBnyB,GAC/B,MAAoB,iBAATA,IAGY,CACnB,mBACA,eACA,mBACA,oBAWeoyB,MAAMC,GAAOA,EAAGxjB,KAAK7O,MANpC,mHAOa6O,KAAK7O,IAJC,kCAKJ6O,KAAK7O,GAE5B,CApIA4B,SAAS1C,iBAAiB,mBAd1B,WACI,MAAMozB,EAAc1wB,SAAS4e,eAAe,eACxC8R,GAAaA,EAAYjS,MAAMkS,eAAe,WAClD,MAAMC,EAAe5wB,SAAS4e,eAAe,gBACzCgS,GAAcA,EAAanS,MAAMkS,eAAe,WACpD,MAAME,EAAe7wB,SAAS4e,eAAe,gBACzCiS,IAAcA,EAAapS,MAAMC,QAAU,QAC/C1e,SAAS2d,iBAAiB,eAAeC,SAASC,IAC9CA,EAAGmL,UACC,YACA9oB,YAAY4wB,IACZ,mCAAmC,GAE/C,IA2BA9wB,SAAS1C,iBAAiB,oBAxB1B,WACI,GAAI4C,YAAY8pB,qBAAsB,CAClCtS,QAAQ3C,IAAI,+BACZ,MAAM8b,EAAe7wB,SAAS4e,eAAe,gBACzCiS,GAAcA,EAAapS,MAAMkS,eAAe,WACpD,MAAMD,EAAc1wB,SAAS4e,eAAe,eACxC8R,IAAaA,EAAYjS,MAAMC,QAAU,QAC7C,MAAMkS,EAAe5wB,SAAS4e,eAAe,gBACzCgS,IAAcA,EAAanS,MAAMC,QAAU,QAC/C,MAAMqS,EAAa/wB,SAAS4e,eAAe,oBACvCmS,IAAYA,EAAWtS,MAAMC,QAAU,QAC3C,MAAMsS,EAAWhxB,SAAS4e,eAAe,kBACrCoS,IAAUA,EAASvS,MAAMC,QAAU,QACvC1e,SAAS2d,iBAAiB,eAAeC,SAASC,IAC9CA,EAAGmL,UACC,YACA9oB,YAAY4wB,IACZ,gCAAgC,IAExC9wB,SAAS2d,iBAAiB,WAAWC,SAASC,IAC1CA,EAAGmL,UAAY,oBAAoB,GAE3C,CACJ,IAuBAhpB,SAAS1C,iBAAiB,oBAAoB,WACtC4C,aAnKR6a,iBACI,IAAIkW,EACJ,GAAI/wB,YAAY8pB,qBAAsB,CAClC,IAAI9I,EAAU,IAAIiI,QAAQ,CACtB,eAAgB,kCAChBC,OAAQ,qBAERlS,EAAO,CACP0S,gBAAgB,IAAIlR,MAAOmR,oBAAsB,GACjDqH,SAAUC,KAAKC,iBAAiBC,kBAAkBC,UAElDC,EAjBZ,WACI,MACMC,EADQ,KAAKxxB,SAASyxB,SACRpiB,MAAM,cAC1B,GAAqB,IAAjBmiB,EAAM/0B,OAAc,OAAO+0B,EAAMxa,MAAM3H,MAAM,KAAKgf,OAC1D,CAasBqD,GACd,IAAIC,GAAW,EACf,GAAIJ,EACA,IACI,IAAIK,EAAUL,EAAQxgB,QAAQ,SAAU,KACpC8gB,EAAOjX,KAAKnJ,MAAMmO,mBAAmBgS,IACzCC,EAAOjX,KAAKnJ,MAAMmO,mBAAmBiS,IAEjCA,EAAKX,WAAaha,EAAKga,UACvBW,EAAKC,YAAc5a,EAAK0S,iBAExBlS,QAAQ3C,IACJ,2DAEJ4c,GAAW,EAEnB,CAAE,MAAOzzB,GACLwZ,QAAQ6I,MACJ,2DAER,CAEJ,IAAiB,IAAboR,EAAoB,CAEpB,IAAIrH,EAAU,IAAIC,QACd,GAAGrqB,YAAYua,yCACf,CACIK,OAAQ,OACRqG,KAAMvG,KAAKC,UAAU3D,GACrBgK,QAASA,IAGjB,IACI,IAAIF,QAAiBC,MAAMqJ,GACtBtJ,EAASI,IACV1J,QAAQ6I,MACJ,2BAA2BS,EAASuL,cAG5CrV,QAAa8J,EAASM,MAC1B,CAAE,MAAOpjB,GACLwZ,QAAQ6I,MAAM,0BAA0BriB,IAC5C,CACJ,CACJ,CAEA,GADAwZ,QAAQ3C,IAAI,uBAAuB7U,YAAY6xB,aAC3C7xB,YAAY2mB,WAAY,CAExB,GADAoK,EAAO,aAAa/wB,YAAY8xB,YAC3B9xB,YAAYC,aAAc,CAC3B,MAAM4wB,EAAa/wB,SAAS4e,eAAe,oBACvCmS,GAA2C,mBAAtBA,EAAWvzB,QAChCuzB,EAAWvzB,SAEf,MAAMwzB,EAAWhxB,SAAS4e,eAAe,kBACrCoS,GAAuC,mBAApBA,EAASxzB,QAC5BwzB,EAASxzB,QAEjB,CACAwC,SAASklB,cAAc,IAAIlM,MAAM,oBA7VzC,WACI,GAAI9Y,YAAY+xB,SAAU,CACtB,IAAIC,EAAGC,EAAKC,EAAYC,EACxB,IAAIC,EAAiBj1B,OAAOF,SAAS0c,SAASxK,MAAM,KAChDoO,EACA6U,EAAeA,EAAe71B,OAAS,GACvC,IACA61B,EAAeA,EAAe71B,OAAS,GAGvC81B,GAAU,EACVC,EAAS,EAFFxyB,SAAS6gB,qBAAqB,QAAQ,GAGxCtF,UAAUkX,SAAS,aACxBF,GAAU,EACVryB,YAAY+xB,SAAW/xB,YAAY+xB,SAAS3kB,KAAIgY,GAAKA,EAAEjW,MAAM,KAAK2H,QAClEyG,EAAOA,EAAKpO,MAAM,KAAK2H,MACvBwb,EAAS,GAGb,IAAIE,EAAWxyB,YAAY+xB,SAAS7kB,QAAQqQ,GACxCkV,EAAezyB,YAAY+xB,SAASx1B,OAyBxC,GAxBIi2B,GAAYxyB,YAAY+xB,SAASx1B,OAAS,GAE1Cy1B,EAAIlyB,SAAS+oB,cAAc,QACzBxK,YAAc,qCAAqCoU,QAAmBA,KACjED,GAAY,GAEnBP,EAAMjyB,YAAY+xB,SAASS,EAAW,IACtCN,EAAaE,EAAenlB,MAAM,EAAGmlB,EAAe71B,OAAS+1B,IAClD9jB,KAAKyjB,GAChBE,EAAWD,EAAWje,KAAK,MAC3B+d,EAAIlyB,SAAS+oB,cAAc,MACzBtL,KAAO,OACTyU,EAAEtC,UAAY,6CACdsC,EAAEjX,KAAOoX,EACTH,EAAE3T,YAAc,oBACZmU,EAAW,QACRC,kCAEPT,EAAIlyB,SAAS+oB,cAAc,QACzB6G,UAAY,mCACdsC,EAAE3T,YACE,qEAGJgU,EAAS,CAET,IAAIK,EAAK5yB,SAAS4e,eAAe,uBAKjC,YAJIgU,IACAA,EAAGnU,MAAMoU,aAAe,OACxBD,EAAG3J,YAAYiJ,IAGvB,CACA,MAAMY,EAAc9yB,SAAS4e,eAAe,gBACxCkU,GAAeZ,GACfY,EAAY7J,YAAYiJ,EAEhC,CACJ,CAmSQa,IAG2D,GAAvD11B,OAAOF,SAAS0c,SAASzM,QAAQ,oBACc,GAA/C/P,OAAOF,SAAS0c,SAASzM,QAAQ,WArS7C,WAEI,IAAI4lB,EAEJ,SAASC,IAKD91B,SAAS8d,KAAK7N,QAAQ,cAAgB,IACtCsK,QAAQ3C,IAAI,gBAAkB5X,SAAS0c,UACvC1c,SAAS8d,KACL/a,YAAY4wB,IACZ,6BACA3zB,SAAS0c,SACT1c,SAASqgB,OAErB,CAEA,SAAS0V,IACDF,GACApa,aAAaoa,GAEjBA,EAAgBla,WAAWma,EAtBX,IAuBpB,CAEA,CAAC,YAAa,UAAW,SAAU,QAAS,aAAc,SAASrV,SAC9DuV,IACG91B,OAAOC,iBAAiB61B,EAAWD,EAAgB,CAAEE,SAAS,GAAO,IAI7EF,GACJ,CAsQYG,EAER,KAAO,CACHpC,EAAO,gBACPjxB,SAASklB,cAAc,IAAIlM,MAAM,qBACjC,IAAIsa,EAAKtzB,SAAS4e,eAAe,oBAC7B0U,IACAA,EAAGtK,UACC,iEAER,IAAIuK,EAAKvzB,SAAS4e,eAAe,cAC7B2U,IACAA,EAAGvK,UACC,wGAEZ,CACAhpB,SAAS2d,iBAAiB,iBAAiBC,SAASC,IAChDA,EAAGmL,UAAYiI,CAAI,IAGvBX,EAAsB,IAAI1B,EAAgB1uB,YAAY+uB,YAgDtDvX,QAAQ3C,IAAI,2CACZ/U,SAASklB,cAAc,IAAIlM,MAAM,gCA/CrC,CAkEQwa,GAhBR,WACI,GAAsB,oBAAXC,QAA0BA,OAAQ,CACzC,IAAIC,EAAQjmB,KAAKkmB,MAAsB,EAAhBlmB,KAAKmmB,UAAgB,EACxCC,EAAU7zB,SAAS4e,eAAe,UAAU8U,KAC5CI,EAAa9zB,SAAS2d,iBAAiB,cACvCmW,EAAWr3B,OAAS,IAEpBq3B,EADkBrmB,KAAKkmB,MAAMlmB,KAAKmmB,SAAWE,EAAWr3B,SAChCqB,MAAM+1B,GAC9BA,EAAQpV,MAAMC,QAAU,QAEhC,CACJ,CAMQqV,IAE2B,oBAAhB7zB,aACPwX,QAAQ3C,IACJ,0EAIhB,IAIA1X,OAAOC,iBAAiB,QAAQ,WAsB5B,GApBA0C,SAAS2d,iBAAiB,uBAAuBC,SAAQ,SAAUC,GAC/DA,EAAGY,MAAMuV,gBACL,uDACR,IAKAh0B,SACK2d,iBAAiB,oCACjBC,SAAQ,SAAUC,GACfA,EAAGvgB,iBAAiB,SAAS,SAAUY,GACnCA,EAAE+1B,iBACN,GACJ,IAMA92B,SAAS8d,KAAKiZ,SAAS,iBAAkB,CACzC,IAAIC,EAAc,iBAClBn0B,SAAS2d,iBAAiB,KAAKC,SAASwW,IACpC,IAAIC,EAAa,GACjB,GACID,EAAKnZ,KAAKiZ,SAAS,qBAClBE,EAAKnZ,KAAKiZ,SAAS,kBACtB,CACE,GAAIE,EAAKnZ,KAAKiZ,SAAS,KAAM,CACzB,IAAII,EAASF,EAAKnZ,KAAK7N,QAAQ,KAC/BinB,EAAaD,EAAKnZ,KAAKnB,UAAUwa,GACjCF,EAAKnZ,KAAOmZ,EAAKnZ,KAAKnB,UAAU,EAAGwa,EACvC,CACAF,EAAKnZ,KAAOmZ,EAAKnZ,KAAKiZ,SAAS,KACzBE,EAAKnZ,KAAOkZ,EAAYpjB,QAAQ,IAAK,KAAOsjB,EAC5CD,EAAKnZ,KAAOkZ,EAAcE,CACpC,IAER,CACJ,G,kFCnhBOtZ,eAAewZ,EAClBC,EACAC,EACAC,GAOA,IAAKF,EAID,YAHAn2B,OAAO,IAAIo2B,KAAYjd,KACnB,qDAKRgd,EAAeA,EAAazjB,QADjB,eAGP,GAAG7Q,YAAY4wB,uBAAuB5wB,YAAYy0B,sBAEtDt2B,OAAO,IAAIo2B,KAAYjd,KAAKgd,QAEO,IAAxBn3B,OAAOqpB,eACdrpB,OAAOqpB,aAAe,CAAC,GAG3B,IAAIkO,EAAgBt5B,EAAEA,EAAE,IAAIm5B,sBAA6B,IAAIvd,KACzD,mBAGE,OAAiB0d,GACvB,IAAIC,EAAM,CAAC,EAEX,GADAA,EAAI7M,KAAO3pB,OAAO,IAAIo2B,sBAA6B,GAC/CI,EAAI7M,OACJ6M,EAAIC,KAAOx5B,EAAEu5B,EAAI7M,MAAM9Q,KAAK,QAC5B2d,EAAI7K,sBAAuB,EAC3B6K,EAAIpN,cAAe,EACnBoN,EAAIE,SAAU,OACU,IAAbL,GACP,IAAK,IAAI9f,KAAO8f,EACZG,EAAIjgB,GAAO8f,EAAS9f,GAKhC,GAAiC,oBAAtBogB,kBACPrK,MAAM,+CAEN,GACKttB,OAAO23B,kBAAkBJ,IACzBv2B,OAAO,IAAIo2B,KAAYjd,OAKrB,CACH,IAAIvE,EAAM5V,OAAO23B,kBAAkBJ,GAAeC,GAC5B,eAAlBD,IACIF,EAASO,YACT53B,OAAOqpB,aACH,GAAGgO,EAASQ,oBAAoBjiB,EAAIwT,SACpCxT,EAEJ5V,OAAOqpB,aAAazT,EAAIwT,OAASxT,EAG7C,MAdI5U,OAAO,IAAIo2B,KAAYjd,KACnB,gCAAgCod,QAehD,CAEO,SAASO,EAAqBX,EAAcE,GAO/CF,EAAeA,EAAazjB,QADjB,eAGP,GAAG7Q,YAAY4wB,uBAAuB5wB,YAAYy0B,sBAGtD,IAQIS,EASA7kB,EAjBAqkB,EAAgBt5B,EAAEA,EAAEk5B,GAAc34B,KAAK,oBAAoB,IAAIqb,KAC/D,aAGAme,EAAS/5B,EAAEk5B,GAAc34B,KAAK,oBAAoBc,QAAQC,KAAK,MAK9DoD,SAAS4e,eAAeyW,KACzBD,EAAO95B,EAAE,SAAU,CACfqD,IAAK,CAAE+f,QAAS,UACjB4W,SAAS,QACZF,EAAK5d,KAAKgd,IAKd,IAAIxc,EAAO,CACPgQ,KAAMhoB,SAAS4e,eAAeyW,GAC9B1N,OAAO,GAEX,QAAwB,IAAb+M,EACP,IAAK,IAAI9f,KAAO8f,EACZ1c,EAAKpD,GAAO8f,EAAS9f,GAIzBggB,KAAiBv3B,OAAO23B,oBACxBzkB,EAAMlT,OAAO23B,kBAAkBJ,GAAe5c,IAGlD,IAAIud,EAAQ,CAAC,EAEb,OADAA,EAAMC,SAAWjlB,EACVglB,CACX,CAKOxa,eAAeiM,EAAmB5G,GAErC,IAAIyN,EAAYzN,EAAM9G,cAAc,oBACpC,GAAiB,MAAbuU,EAEA,YADAnW,QAAQ3C,IAAI,4IAGhB,IAAI6f,EAAgB/G,EAAU7I,QAAQ6I,UAEtC,SADM,OAAiB+G,GAC2C,GAA9Dt5B,EAAEiC,MAAMmB,QAAQ,oCAAoCjC,OAEpD,IACI,IAAIgqB,EAAQoH,EAAU1P,GACtB9gB,OAAOqpB,aAAaD,GAASppB,OAAO23B,kBAChCJ,GACF,CACE5M,KAAM6F,EACN7D,qBAAsB9pB,YAAY8pB,sBAE1C,CAAE,MAAOwC,GACL9U,QAAQ3C,IAAI,mBAAmB6f,aAAyBr3B,KAAK4gB,yCACrCqO,IAC5B,CAER,C","sources":["webpack://WebComponents/./runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-sphinx.js","webpack://WebComponents/./runestone/common/js/presenter_mode.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.fallbacks.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.language.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.emitter.bidi.js","webpack://WebComponents/external var \"jQuery\"","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.emitter.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.parser.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.messagestore.js","webpack://WebComponents/./runestone/common/js/jquery_i18n/jquery.i18n.js","webpack://WebComponents/./runestone/common/js/jquery.idle-timer.js","webpack://WebComponents/./runestone/common/js/user-highlights.js","webpack://WebComponents/./runestone/common/js/pretext.js","webpack://WebComponents/./runestone/splice/js/spliceWrapper.js","webpack://WebComponents/./webpack.index.js","webpack://WebComponents/./runestone/common/js/theme.js","webpack://WebComponents/./runestone/common/js/runestonebase.js","webpack://WebComponents/./runestone/common/js/bookfuncs.js","webpack://WebComponents/./runestone/common/js/renderComponent.js"],"sourcesContent":["(function ($) {\n /**\n * Patch TOC list.\n *\n * Will mutate the underlying span to have a correct ul for nav.\n *\n * @param $span: Span containing nested UL's to mutate.\n * @param minLevel: Starting level for nested lists. (1: global, 2: local).\n */\n var patchToc = function ($ul, minLevel) {\n var findA,\n patchTables,\n $localLi;\n\n // Find all a \"internal\" tags, traversing recursively.\n findA = function ($elem, level) {\n level = level || 0;\n var $items = $elem.find(\"> li > a.internal, > ul, > li > ul\");\n\n // Iterate everything in order.\n $items.each(function (index, item) {\n var $item = $(item),\n tag = item.tagName.toLowerCase(),\n $childrenLi = $item.children('li'),\n $parentLi = $($item.parent('li'), $item.parent().parent('li'));\n\n // Add dropdowns if more children and above minimum level.\n if (tag === 'ul' && level >= minLevel && $childrenLi.length > 0) {\n $parentLi\n .addClass('dropdown-submenu')\n .children('a').first().attr('tabindex', -1);\n\n $item.addClass('dropdown-menu');\n }\n\n findA($item, level + 1);\n });\n };\n\n findA($ul);\n };\n\n /**\n * Patch all tables to remove ``docutils`` class and add Bootstrap base\n * ``table`` class.\n */\n patchTables = function () {\n $(\"table.docutils\")\n .removeClass(\"docutils\")\n .addClass(\"table\")\n .attr(\"border\", 0);\n };\n\n$(function () {\n\n /*\n * Scroll the window to avoid the topnav bar\n * https://github.com/twitter/bootstrap/issues/1768\n */\n if ($(\"#navbar.navbar-fixed-top\").length > 0) {\n var navHeight = $(\"#navbar\").height(),\n shiftWindow = function() { scrollBy(0, -navHeight - 10); };\n\n if (location.hash) {\n shiftWindow();\n }\n\n window.addEventListener(\"hashchange\", shiftWindow);\n }\n\n // Add styling, structure to TOC's.\n $(\".dropdown-menu\").each(function () {\n $(this).find(\"ul\").each(function (index, item){\n var $item = $(item);\n $item.addClass('unstyled');\n });\n });\n\n // Global TOC.\n if ($(\"ul.globaltoc li\").length) {\n patchToc($(\"ul.globaltoc\"), 1);\n } else {\n // Remove Global TOC.\n $(\".globaltoc-container\").remove();\n }\n\n // Local TOC.\n patchToc($(\"ul.localtoc\"), 2);\n\n // Mutate sub-lists (for bs-2.3.0).\n $(\".dropdown-menu ul\").not(\".dropdown-menu\").each(function () {\n var $ul = $(this),\n $parent = $ul.parent(),\n tag = $parent[0].tagName.toLowerCase(),\n $kids = $ul.children().detach();\n\n // Replace list with items if submenu header.\n if (tag === \"ul\") {\n $ul.replaceWith($kids);\n } else if (tag === \"li\") {\n // Insert into previous list.\n $parent.after($kids);\n $ul.remove();\n }\n });\n\n // Add divider in page TOC.\n $localLi = $(\"ul.localtoc li\");\n if ($localLi.length > 2) {\n $localLi.first().after('
  • ');\n }\n\n // Enable dropdown.\n $('.dropdown-toggle').dropdown();\n\n // Patch tables.\n patchTables();\n\n // Add Note, Warning styles.\n $('div.note').addClass('alert').addClass('alert-info');\n $('div.warning').addClass('alert').addClass('alert-warning');\n\n // Inline code styles to Bootstrap style.\n $('tt.docutils.literal').not(\".xref\").each(function (i, e) {\n // ignore references\n if (!$(e).parent().hasClass(\"reference\")) {\n $(e).replaceWith(function () {\n return $(\"\").text($(this).text());\n });\n }});\n });\n}(window.jQuery));\n","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 // presenter_mode.css is loaded by webpack\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.less\";\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('
    ');\n codeExercises = $(\".runestone\").not(\".runestone .runestone\");\n // codeExercises.each(function(){\n $(\"h1\").before(\n \"
    \\\n \\\n \\\n
    \"\n );\n}\nfunction getActiveExercise() {\n return (active = codeExercises.filter(\".active\"));\n}\n\nfunction activateExercise(index) {\n if (typeof index == \"undefined\") {\n index = 0;\n }\n\n let active = getActiveExercise();\n\n if (codeExercises.length) {\n active.removeClass(\"active\");\n active = $(codeExercises[index]).addClass(\"active\");\n active.removeClass(\"hidden\");\n codeExercises.not(codeExercises.filter(\".active\")).addClass(\"hidden\");\n }\n}\n\nwindow.nextExercise = function() {\n let active = getActiveExercise();\n let nextIndex = codeExercises.index(active) + 1;\n if (nextIndex < codeExercises.length) {\n activateExercise(nextIndex);\n }\n}\n\nwindow.prevExercise = function() {\n let active = getActiveExercise();\n let prevIndex = codeExercises.index(active) - 1;\n if (prevIndex >= 0) {\n activateExercise(prevIndex);\n }\n}\n\nfunction configure() {\n let rightNav = $(\".navbar-right\");\n rightNav.prepend(\n \"\"\n );\n\n let modeSelect = $(\".mode-select\").change(presentToggle);\n}\n\nfunction codelensListener(duration) {\n // $(\".ExecutionVisualizer\").length ? configureCodelens() : setTimeout(codelensListener, duration);\n // configureCodelens();\n}\n\nfunction configureCodelens() {\n let acCodeTitle = document.createElement(\"h4\");\n acCodeTitle.textContent = \"Active Code Window\";\n let acCode = $(\".ac_code_div\");\n $(\".ac_code_div\").addClass(\"col-md-6\");\n acCode.prepend(acCodeTitle);\n\n acOutTitle = document.createElement(\"h4\");\n acOutTitle.textContent = \"Output Window\";\n let acOut = $(\".ac_output\").addClass(\"col-md-6\");\n $(\".ac_output\").prepend(acOutTitle);\n\n let sketchpadTitle = document.createElement(\"h4\");\n sketchpadTitle.textContent = \"Sketchpad\";\n let sketchpad = document.createElement(\"span\");\n $(sketchpad).addClass(\"sketchpad\");\n let sketchpadContainer = document.createElement(\"div\");\n $(sketchpadContainer).addClass(\"sketchpad-container\");\n sketchpadContainer.appendChild(sketchpadTitle);\n sketchpadContainer.appendChild(sketchpad);\n //$('.ac_output').append(sketchpadContainer);\n\n let visualizers = $(\".ExecutionVisualizer\");\n\n console.log(\"Econtainer: \", this.eContainer);\n\n $(\"[data-childcomponent]\").on(\"click\", \"button.row-mode\", function () {\n $(this).closest(\"[data-childcomponent]\").removeClass(\"card-mode\");\n $(this).closest(\"[data-childcomponent]\").addClass(\"row-mode\");\n $(this).next(\".card-mode\").removeClass(\"active-layout\");\n $(this).addClass(\"active-layout\");\n });\n\n $(\"[data-childcomponent]\").on(\"click\", \"button.card-mode\", function () {\n $(this).closest(\"[data-childcomponent]\").removeClass(\"row-mode\");\n $(this).closest(\"[data-childcomponent]\").addClass(\"card-mode\");\n $(this).prev(\".row-mode\").removeClass(\"active-layout\");\n $(this).addClass(\"active-layout\");\n });\n\n $(\"[data-childcomponent] .ac_section\").each(function () {\n $(this).prepend(\n '
    '\n );\n });\n\n visualizers.each(function (index) {\n let me = $(this);\n let col1 = me.find(\"#vizLayoutTdFirst\");\n let col2 = me.find(\"#vizLayoutTdSecond\");\n let dataVis = me.find(\"#dataViz\");\n let stackHeapTable = me.find(\"#stackHeapTable\");\n let output = me.find(\"#progOutputs\");\n output.css(\"display\", \"block\");\n me.parent().prepend(\n \"
    Example \" +\n (Number(index) + 1) +\n \"
    \"\n );\n });\n\n acCode.each(function () {\n let section = $(this).closest(\".ac-block\").parent();\n console.log(section, section.length);\n section.append(sketchpadContainer);\n });\n\n $(\"button.card-mode\").click();\n\n let modeSelect = $(\".mode-select\");\n let mode = localStorage.getItem(\"presentMode\");\n if (mode == \"present\") {\n modeSelect.val(\"present\");\n modeSelect.change();\n }\n}\n\n$(document).on(\"runestone:login-complete\", function () {\n // if user is instructor, enable presenter mode\n if (eBookConfig.isInstructor) {\n configure();\n }\n});\n","/*!\n * jQuery Internationalization library\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( function ( $ ) {\n\t'use strict';\n\n\t$.i18n = $.i18n || {};\n\t$.extend( $.i18n.fallbacks, {\n\t\tab: [ 'ru' ],\n\t\tace: [ 'id' ],\n\t\taln: [ 'sq' ],\n\t\t// Not so standard - als is supposed to be Tosk Albanian,\n\t\t// but in Wikipedia it's used for a Germanic language.\n\t\tals: [ 'gsw', 'de' ],\n\t\tan: [ 'es' ],\n\t\tanp: [ 'hi' ],\n\t\tarn: [ 'es' ],\n\t\tarz: [ 'ar' ],\n\t\tav: [ 'ru' ],\n\t\tay: [ 'es' ],\n\t\tba: [ 'ru' ],\n\t\tbar: [ 'de' ],\n\t\t'bat-smg': [ 'sgs', 'lt' ],\n\t\tbcc: [ 'fa' ],\n\t\t'be-x-old': [ 'be-tarask' ],\n\t\tbh: [ 'bho' ],\n\t\tbjn: [ 'id' ],\n\t\tbm: [ 'fr' ],\n\t\tbpy: [ 'bn' ],\n\t\tbqi: [ 'fa' ],\n\t\tbug: [ 'id' ],\n\t\t'cbk-zam': [ 'es' ],\n\t\tce: [ 'ru' ],\n\t\tcrh: [ 'crh-latn' ],\n\t\t'crh-cyrl': [ 'ru' ],\n\t\tcsb: [ 'pl' ],\n\t\tcv: [ 'ru' ],\n\t\t'de-at': [ 'de' ],\n\t\t'de-ch': [ 'de' ],\n\t\t'de-formal': [ 'de' ],\n\t\tdsb: [ 'de' ],\n\t\tdtp: [ 'ms' ],\n\t\tegl: [ 'it' ],\n\t\teml: [ 'it' ],\n\t\tff: [ 'fr' ],\n\t\tfit: [ 'fi' ],\n\t\t'fiu-vro': [ 'vro', 'et' ],\n\t\tfrc: [ 'fr' ],\n\t\tfrp: [ 'fr' ],\n\t\tfrr: [ 'de' ],\n\t\tfur: [ 'it' ],\n\t\tgag: [ 'tr' ],\n\t\tgan: [ 'gan-hant', 'zh-hant', 'zh-hans' ],\n\t\t'gan-hans': [ 'zh-hans' ],\n\t\t'gan-hant': [ 'zh-hant', 'zh-hans' ],\n\t\tgl: [ 'pt' ],\n\t\tglk: [ 'fa' ],\n\t\tgn: [ 'es' ],\n\t\tgsw: [ 'de' ],\n\t\thif: [ 'hif-latn' ],\n\t\thsb: [ 'de' ],\n\t\tht: [ 'fr' ],\n\t\tii: [ 'zh-cn', 'zh-hans' ],\n\t\tinh: [ 'ru' ],\n\t\tiu: [ 'ike-cans' ],\n\t\tjut: [ 'da' ],\n\t\tjv: [ 'id' ],\n\t\tkaa: [ 'kk-latn', 'kk-cyrl' ],\n\t\tkbd: [ 'kbd-cyrl' ],\n\t\tkhw: [ 'ur' ],\n\t\tkiu: [ 'tr' ],\n\t\tkk: [ 'kk-cyrl' ],\n\t\t'kk-arab': [ 'kk-cyrl' ],\n\t\t'kk-latn': [ 'kk-cyrl' ],\n\t\t'kk-cn': [ 'kk-arab', 'kk-cyrl' ],\n\t\t'kk-kz': [ 'kk-cyrl' ],\n\t\t'kk-tr': [ 'kk-latn', 'kk-cyrl' ],\n\t\tkl: [ 'da' ],\n\t\t'ko-kp': [ 'ko' ],\n\t\tkoi: [ 'ru' ],\n\t\tkrc: [ 'ru' ],\n\t\tks: [ 'ks-arab' ],\n\t\tksh: [ 'de' ],\n\t\tku: [ 'ku-latn' ],\n\t\t'ku-arab': [ 'ckb' ],\n\t\tkv: [ 'ru' ],\n\t\tlad: [ 'es' ],\n\t\tlb: [ 'de' ],\n\t\tlbe: [ 'ru' ],\n\t\tlez: [ 'ru' ],\n\t\tli: [ 'nl' ],\n\t\tlij: [ 'it' ],\n\t\tliv: [ 'et' ],\n\t\tlmo: [ 'it' ],\n\t\tln: [ 'fr' ],\n\t\tltg: [ 'lv' ],\n\t\tlzz: [ 'tr' ],\n\t\tmai: [ 'hi' ],\n\t\t'map-bms': [ 'jv', 'id' ],\n\t\tmg: [ 'fr' ],\n\t\tmhr: [ 'ru' ],\n\t\tmin: [ 'id' ],\n\t\tmo: [ 'ro' ],\n\t\tmrj: [ 'ru' ],\n\t\tmwl: [ 'pt' ],\n\t\tmyv: [ 'ru' ],\n\t\tmzn: [ 'fa' ],\n\t\tnah: [ 'es' ],\n\t\tnap: [ 'it' ],\n\t\tnds: [ 'de' ],\n\t\t'nds-nl': [ 'nl' ],\n\t\t'nl-informal': [ 'nl' ],\n\t\tno: [ 'nb' ],\n\t\tos: [ 'ru' ],\n\t\tpcd: [ 'fr' ],\n\t\tpdc: [ 'de' ],\n\t\tpdt: [ 'de' ],\n\t\tpfl: [ 'de' ],\n\t\tpms: [ 'it' ],\n\t\tpt: [ 'pt-br' ],\n\t\t'pt-br': [ 'pt' ],\n\t\tqu: [ 'es' ],\n\t\tqug: [ 'qu', 'es' ],\n\t\trgn: [ 'it' ],\n\t\trmy: [ 'ro' ],\n\t\t'roa-rup': [ 'rup' ],\n\t\true: [ 'uk', 'ru' ],\n\t\truq: [ 'ruq-latn', 'ro' ],\n\t\t'ruq-cyrl': [ 'mk' ],\n\t\t'ruq-latn': [ 'ro' ],\n\t\tsa: [ 'hi' ],\n\t\tsah: [ 'ru' ],\n\t\tscn: [ 'it' ],\n\t\tsg: [ 'fr' ],\n\t\tsgs: [ 'lt' ],\n\t\tsli: [ 'de' ],\n\t\tsr: [ 'sr-ec' ],\n\t\tsrn: [ 'nl' ],\n\t\tstq: [ 'de' ],\n\t\tsu: [ 'id' ],\n\t\tszl: [ 'pl' ],\n\t\ttcy: [ 'kn' ],\n\t\ttg: [ 'tg-cyrl' ],\n\t\ttt: [ 'tt-cyrl', 'ru' ],\n\t\t'tt-cyrl': [ 'ru' ],\n\t\tty: [ 'fr' ],\n\t\tudm: [ 'ru' ],\n\t\tug: [ 'ug-arab' ],\n\t\tuk: [ 'ru' ],\n\t\tvec: [ 'it' ],\n\t\tvep: [ 'et' ],\n\t\tvls: [ 'nl' ],\n\t\tvmf: [ 'de' ],\n\t\tvot: [ 'fi' ],\n\t\tvro: [ 'et' ],\n\t\twa: [ 'fr' ],\n\t\two: [ 'fr' ],\n\t\twuu: [ 'zh-hans' ],\n\t\txal: [ 'ru' ],\n\t\txmf: [ 'ka' ],\n\t\tyi: [ 'he' ],\n\t\tza: [ 'zh-hans' ],\n\t\tzea: [ 'nl' ],\n\t\tzh: [ 'zh-hans' ],\n\t\t'zh-classical': [ 'lzh' ],\n\t\t'zh-cn': [ 'zh-hans' ],\n\t\t'zh-hant': [ 'zh-hans' ],\n\t\t'zh-hk': [ 'zh-hant', 'zh-hans' ],\n\t\t'zh-min-nan': [ 'nan' ],\n\t\t'zh-mo': [ 'zh-hk', 'zh-hant', 'zh-hans' ],\n\t\t'zh-my': [ 'zh-sg', 'zh-hans' ],\n\t\t'zh-sg': [ 'zh-hans' ],\n\t\t'zh-tw': [ 'zh-hant', 'zh-hans' ],\n\t\t'zh-yue': [ 'yue' ]\n\t} );\n}( jQuery ) );\n","/* 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 * BIDI embedding support for jQuery.i18n\n *\n * Copyright (C) 2015, David Chan\n *\n * This code 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 this code\n * in commercial projects as long as the copyright header is left intact.\n * 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\tvar strongDirRegExp;\n\n\t/**\n\t * Matches the first strong directionality codepoint:\n\t * - in group 1 if it is LTR\n\t * - in group 2 if it is RTL\n\t * Does not match if there is no strong directionality codepoint.\n\t *\n\t * Generated by UnicodeJS (see tools/strongDir) from the UCD; see\n\t * https://phabricator.wikimedia.org/diffusion/GUJS/ .\n\t */\n\tstrongDirRegExp = new RegExp(\n\t\t'(?:' +\n\t\t\t'(' +\n\t\t\t\t'[\\u0041-\\u005a\\u0061-\\u007a\\u00aa\\u00b5\\u00ba\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u02b8\\u02bb-\\u02c1\\u02d0\\u02d1\\u02e0-\\u02e4\\u02ee\\u0370-\\u0373\\u0376\\u0377\\u037a-\\u037d\\u037f\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0482\\u048a-\\u052f\\u0531-\\u0556\\u0559-\\u055f\\u0561-\\u0587\\u0589\\u0903-\\u0939\\u093b\\u093d-\\u0940\\u0949-\\u094c\\u094e-\\u0950\\u0958-\\u0961\\u0964-\\u0980\\u0982\\u0983\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd-\\u09c0\\u09c7\\u09c8\\u09cb\\u09cc\\u09ce\\u09d7\\u09dc\\u09dd\\u09df-\\u09e1\\u09e6-\\u09f1\\u09f4-\\u09fa\\u0a03\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a3e-\\u0a40\\u0a59-\\u0a5c\\u0a5e\\u0a66-\\u0a6f\\u0a72-\\u0a74\\u0a83\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd-\\u0ac0\\u0ac9\\u0acb\\u0acc\\u0ad0\\u0ae0\\u0ae1\\u0ae6-\\u0af0\\u0af9\\u0b02\\u0b03\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b3e\\u0b40\\u0b47\\u0b48\\u0b4b\\u0b4c\\u0b57\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b66-\\u0b77\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bbe\\u0bbf\\u0bc1\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcc\\u0bd0\\u0bd7\\u0be6-\\u0bf2\\u0c01-\\u0c03\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c39\\u0c3d\\u0c41-\\u0c44\\u0c58-\\u0c5a\\u0c60\\u0c61\\u0c66-\\u0c6f\\u0c7f\\u0c82\\u0c83\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd-\\u0cc4\\u0cc6-\\u0cc8\\u0cca\\u0ccb\\u0cd5\\u0cd6\\u0cde\\u0ce0\\u0ce1\\u0ce6-\\u0cef\\u0cf1\\u0cf2\\u0d02\\u0d03\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d-\\u0d40\\u0d46-\\u0d48\\u0d4a-\\u0d4c\\u0d4e\\u0d57\\u0d5f-\\u0d61\\u0d66-\\u0d75\\u0d79-\\u0d7f\\u0d82\\u0d83\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0dcf-\\u0dd1\\u0dd8-\\u0ddf\\u0de6-\\u0def\\u0df2-\\u0df4\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e4f-\\u0e5b\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0ed0-\\u0ed9\\u0edc-\\u0edf\\u0f00-\\u0f17\\u0f1a-\\u0f34\\u0f36\\u0f38\\u0f3e-\\u0f47\\u0f49-\\u0f6c\\u0f7f\\u0f85\\u0f88-\\u0f8c\\u0fbe-\\u0fc5\\u0fc7-\\u0fcc\\u0fce-\\u0fda\\u1000-\\u102c\\u1031\\u1038\\u103b\\u103c\\u103f-\\u1057\\u105a-\\u105d\\u1061-\\u1070\\u1075-\\u1081\\u1083\\u1084\\u1087-\\u108c\\u108e-\\u109c\\u109e-\\u10c5\\u10c7\\u10cd\\u10d0-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1360-\\u137c\\u1380-\\u138f\\u13a0-\\u13f5\\u13f8-\\u13fd\\u1401-\\u167f\\u1681-\\u169a\\u16a0-\\u16f8\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1735\\u1736\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17b6\\u17be-\\u17c5\\u17c7\\u17c8\\u17d4-\\u17da\\u17dc\\u17e0-\\u17e9\\u1810-\\u1819\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191e\\u1923-\\u1926\\u1929-\\u192b\\u1930\\u1931\\u1933-\\u1938\\u1946-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19b0-\\u19c9\\u19d0-\\u19da\\u1a00-\\u1a16\\u1a19\\u1a1a\\u1a1e-\\u1a55\\u1a57\\u1a61\\u1a63\\u1a64\\u1a6d-\\u1a72\\u1a80-\\u1a89\\u1a90-\\u1a99\\u1aa0-\\u1aad\\u1b04-\\u1b33\\u1b35\\u1b3b\\u1b3d-\\u1b41\\u1b43-\\u1b4b\\u1b50-\\u1b6a\\u1b74-\\u1b7c\\u1b82-\\u1ba1\\u1ba6\\u1ba7\\u1baa\\u1bae-\\u1be5\\u1be7\\u1bea-\\u1bec\\u1bee\\u1bf2\\u1bf3\\u1bfc-\\u1c2b\\u1c34\\u1c35\\u1c3b-\\u1c49\\u1c4d-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u1ce1\\u1ce9-\\u1cec\\u1cee-\\u1cf3\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u200e\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u214f\\u2160-\\u2188\\u2336-\\u237a\\u2395\\u249c-\\u24e9\\u26ac\\u2800-\\u28ff\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d70\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u3005-\\u3007\\u3021-\\u3029\\u302e\\u302f\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u3190-\\u31ba\\u31f0-\\u321c\\u3220-\\u324f\\u3260-\\u327b\\u327f-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u32fe\\u3300-\\u3376\\u337b-\\u33dd\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fd5\\ua000-\\ua48c\\ua4d0-\\ua60c\\ua610-\\ua62b\\ua640-\\ua66e\\ua680-\\ua69d\\ua6a0-\\ua6ef\\ua6f2-\\ua6f7\\ua722-\\ua787\\ua789-\\ua7ad\\ua7b0-\\ua7b7\\ua7f7-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua824\\ua827\\ua830-\\ua837\\ua840-\\ua873\\ua880-\\ua8c3\\ua8ce-\\ua8d9\\ua8f2-\\ua8fd\\ua900-\\ua925\\ua92e-\\ua946\\ua952\\ua953\\ua95f-\\ua97c\\ua983-\\ua9b2\\ua9b4\\ua9b5\\ua9ba\\ua9bb\\ua9bd-\\ua9cd\\ua9cf-\\ua9d9\\ua9de-\\ua9e4\\ua9e6-\\ua9fe\\uaa00-\\uaa28\\uaa2f\\uaa30\\uaa33\\uaa34\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa4d\\uaa50-\\uaa59\\uaa5c-\\uaa7b\\uaa7d-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaaeb\\uaaee-\\uaaf5\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uab30-\\uab65\\uab70-\\uabe4\\uabe6\\uabe7\\uabe9-\\uabec\\uabf0-\\uabf9\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ue000-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]|\\ud800[\\udc00-\\udc0b]|\\ud800[\\udc0d-\\udc26]|\\ud800[\\udc28-\\udc3a]|\\ud800\\udc3c|\\ud800\\udc3d|\\ud800[\\udc3f-\\udc4d]|\\ud800[\\udc50-\\udc5d]|\\ud800[\\udc80-\\udcfa]|\\ud800\\udd00|\\ud800\\udd02|\\ud800[\\udd07-\\udd33]|\\ud800[\\udd37-\\udd3f]|\\ud800[\\uddd0-\\uddfc]|\\ud800[\\ude80-\\ude9c]|\\ud800[\\udea0-\\uded0]|\\ud800[\\udf00-\\udf23]|\\ud800[\\udf30-\\udf4a]|\\ud800[\\udf50-\\udf75]|\\ud800[\\udf80-\\udf9d]|\\ud800[\\udf9f-\\udfc3]|\\ud800[\\udfc8-\\udfd5]|\\ud801[\\udc00-\\udc9d]|\\ud801[\\udca0-\\udca9]|\\ud801[\\udd00-\\udd27]|\\ud801[\\udd30-\\udd63]|\\ud801\\udd6f|\\ud801[\\ude00-\\udf36]|\\ud801[\\udf40-\\udf55]|\\ud801[\\udf60-\\udf67]|\\ud804\\udc00|\\ud804[\\udc02-\\udc37]|\\ud804[\\udc47-\\udc4d]|\\ud804[\\udc66-\\udc6f]|\\ud804[\\udc82-\\udcb2]|\\ud804\\udcb7|\\ud804\\udcb8|\\ud804[\\udcbb-\\udcc1]|\\ud804[\\udcd0-\\udce8]|\\ud804[\\udcf0-\\udcf9]|\\ud804[\\udd03-\\udd26]|\\ud804\\udd2c|\\ud804[\\udd36-\\udd43]|\\ud804[\\udd50-\\udd72]|\\ud804[\\udd74-\\udd76]|\\ud804[\\udd82-\\uddb5]|\\ud804[\\uddbf-\\uddc9]|\\ud804\\uddcd|\\ud804[\\uddd0-\\udddf]|\\ud804[\\udde1-\\uddf4]|\\ud804[\\ude00-\\ude11]|\\ud804[\\ude13-\\ude2e]|\\ud804\\ude32|\\ud804\\ude33|\\ud804\\ude35|\\ud804[\\ude38-\\ude3d]|\\ud804[\\ude80-\\ude86]|\\ud804\\ude88|\\ud804[\\ude8a-\\ude8d]|\\ud804[\\ude8f-\\ude9d]|\\ud804[\\ude9f-\\udea9]|\\ud804[\\udeb0-\\udede]|\\ud804[\\udee0-\\udee2]|\\ud804[\\udef0-\\udef9]|\\ud804\\udf02|\\ud804\\udf03|\\ud804[\\udf05-\\udf0c]|\\ud804\\udf0f|\\ud804\\udf10|\\ud804[\\udf13-\\udf28]|\\ud804[\\udf2a-\\udf30]|\\ud804\\udf32|\\ud804\\udf33|\\ud804[\\udf35-\\udf39]|\\ud804[\\udf3d-\\udf3f]|\\ud804[\\udf41-\\udf44]|\\ud804\\udf47|\\ud804\\udf48|\\ud804[\\udf4b-\\udf4d]|\\ud804\\udf50|\\ud804\\udf57|\\ud804[\\udf5d-\\udf63]|\\ud805[\\udc80-\\udcb2]|\\ud805\\udcb9|\\ud805[\\udcbb-\\udcbe]|\\ud805\\udcc1|\\ud805[\\udcc4-\\udcc7]|\\ud805[\\udcd0-\\udcd9]|\\ud805[\\udd80-\\uddb1]|\\ud805[\\uddb8-\\uddbb]|\\ud805\\uddbe|\\ud805[\\uddc1-\\udddb]|\\ud805[\\ude00-\\ude32]|\\ud805\\ude3b|\\ud805\\ude3c|\\ud805\\ude3e|\\ud805[\\ude41-\\ude44]|\\ud805[\\ude50-\\ude59]|\\ud805[\\ude80-\\udeaa]|\\ud805\\udeac|\\ud805\\udeae|\\ud805\\udeaf|\\ud805\\udeb6|\\ud805[\\udec0-\\udec9]|\\ud805[\\udf00-\\udf19]|\\ud805\\udf20|\\ud805\\udf21|\\ud805\\udf26|\\ud805[\\udf30-\\udf3f]|\\ud806[\\udca0-\\udcf2]|\\ud806\\udcff|\\ud806[\\udec0-\\udef8]|\\ud808[\\udc00-\\udf99]|\\ud809[\\udc00-\\udc6e]|\\ud809[\\udc70-\\udc74]|\\ud809[\\udc80-\\udd43]|\\ud80c[\\udc00-\\udfff]|\\ud80d[\\udc00-\\udc2e]|\\ud811[\\udc00-\\ude46]|\\ud81a[\\udc00-\\ude38]|\\ud81a[\\ude40-\\ude5e]|\\ud81a[\\ude60-\\ude69]|\\ud81a\\ude6e|\\ud81a\\ude6f|\\ud81a[\\uded0-\\udeed]|\\ud81a\\udef5|\\ud81a[\\udf00-\\udf2f]|\\ud81a[\\udf37-\\udf45]|\\ud81a[\\udf50-\\udf59]|\\ud81a[\\udf5b-\\udf61]|\\ud81a[\\udf63-\\udf77]|\\ud81a[\\udf7d-\\udf8f]|\\ud81b[\\udf00-\\udf44]|\\ud81b[\\udf50-\\udf7e]|\\ud81b[\\udf93-\\udf9f]|\\ud82c\\udc00|\\ud82c\\udc01|\\ud82f[\\udc00-\\udc6a]|\\ud82f[\\udc70-\\udc7c]|\\ud82f[\\udc80-\\udc88]|\\ud82f[\\udc90-\\udc99]|\\ud82f\\udc9c|\\ud82f\\udc9f|\\ud834[\\udc00-\\udcf5]|\\ud834[\\udd00-\\udd26]|\\ud834[\\udd29-\\udd66]|\\ud834[\\udd6a-\\udd72]|\\ud834\\udd83|\\ud834\\udd84|\\ud834[\\udd8c-\\udda9]|\\ud834[\\uddae-\\udde8]|\\ud834[\\udf60-\\udf71]|\\ud835[\\udc00-\\udc54]|\\ud835[\\udc56-\\udc9c]|\\ud835\\udc9e|\\ud835\\udc9f|\\ud835\\udca2|\\ud835\\udca5|\\ud835\\udca6|\\ud835[\\udca9-\\udcac]|\\ud835[\\udcae-\\udcb9]|\\ud835\\udcbb|\\ud835[\\udcbd-\\udcc3]|\\ud835[\\udcc5-\\udd05]|\\ud835[\\udd07-\\udd0a]|\\ud835[\\udd0d-\\udd14]|\\ud835[\\udd16-\\udd1c]|\\ud835[\\udd1e-\\udd39]|\\ud835[\\udd3b-\\udd3e]|\\ud835[\\udd40-\\udd44]|\\ud835\\udd46|\\ud835[\\udd4a-\\udd50]|\\ud835[\\udd52-\\udea5]|\\ud835[\\udea8-\\udeda]|\\ud835[\\udedc-\\udf14]|\\ud835[\\udf16-\\udf4e]|\\ud835[\\udf50-\\udf88]|\\ud835[\\udf8a-\\udfc2]|\\ud835[\\udfc4-\\udfcb]|\\ud836[\\udc00-\\uddff]|\\ud836[\\ude37-\\ude3a]|\\ud836[\\ude6d-\\ude74]|\\ud836[\\ude76-\\ude83]|\\ud836[\\ude85-\\ude8b]|\\ud83c[\\udd10-\\udd2e]|\\ud83c[\\udd30-\\udd69]|\\ud83c[\\udd70-\\udd9a]|\\ud83c[\\udde6-\\ude02]|\\ud83c[\\ude10-\\ude3a]|\\ud83c[\\ude40-\\ude48]|\\ud83c\\ude50|\\ud83c\\ude51|[\\ud840-\\ud868][\\udc00-\\udfff]|\\ud869[\\udc00-\\uded6]|\\ud869[\\udf00-\\udfff]|[\\ud86a-\\ud86c][\\udc00-\\udfff]|\\ud86d[\\udc00-\\udf34]|\\ud86d[\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d]|\\ud86e[\\udc20-\\udfff]|[\\ud86f-\\ud872][\\udc00-\\udfff]|\\ud873[\\udc00-\\udea1]|\\ud87e[\\udc00-\\ude1d]|[\\udb80-\\udbbe][\\udc00-\\udfff]|\\udbbf[\\udc00-\\udffd]|[\\udbc0-\\udbfe][\\udc00-\\udfff]|\\udbff[\\udc00-\\udffd]' +\n\t\t\t')|(' +\n\t\t\t\t'[\\u0590\\u05be\\u05c0\\u05c3\\u05c6\\u05c8-\\u05ff\\u07c0-\\u07ea\\u07f4\\u07f5\\u07fa-\\u0815\\u081a\\u0824\\u0828\\u082e-\\u0858\\u085c-\\u089f\\u200f\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb4f\\u0608\\u060b\\u060d\\u061b-\\u064a\\u066d-\\u066f\\u0671-\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u0710\\u0712-\\u072f\\u074b-\\u07a5\\u07b1-\\u07bf\\u08a0-\\u08e2\\ufb50-\\ufd3d\\ufd40-\\ufdcf\\ufdf0-\\ufdfc\\ufdfe\\ufdff\\ufe70-\\ufefe]|\\ud802[\\udc00-\\udd1e]|\\ud802[\\udd20-\\ude00]|\\ud802\\ude04|\\ud802[\\ude07-\\ude0b]|\\ud802[\\ude10-\\ude37]|\\ud802[\\ude3b-\\ude3e]|\\ud802[\\ude40-\\udee4]|\\ud802[\\udee7-\\udf38]|\\ud802[\\udf40-\\udfff]|\\ud803[\\udc00-\\ude5f]|\\ud803[\\ude7f-\\udfff]|\\ud83a[\\udc00-\\udccf]|\\ud83a[\\udcd7-\\udfff]|\\ud83b[\\udc00-\\uddff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\udf00-\\udfff]|\\ud83b[\\ude00-\\udeef]|\\ud83b[\\udef2-\\udeff]' +\n\t\t\t')' +\n\t\t')'\n\t);\n\n\t/**\n\t * Gets directionality of the first strongly directional codepoint\n\t *\n\t * This is the rule the BIDI algorithm uses to determine the directionality of\n\t * paragraphs ( http://unicode.org/reports/tr9/#The_Paragraph_Level ) and\n\t * FSI isolates ( http://unicode.org/reports/tr9/#Explicit_Directional_Isolates ).\n\t *\n\t * TODO: Does not handle BIDI control characters inside the text.\n\t * TODO: Does not handle unallocated characters.\n\t *\n\t * @param {string} text The text from which to extract initial directionality.\n\t * @return {string} Directionality (either 'ltr' or 'rtl')\n\t */\n\tfunction strongDirFromContent( text ) {\n\t\tvar m = text.match( strongDirRegExp );\n\t\tif ( !m ) {\n\t\t\treturn null;\n\t\t}\n\t\tif ( m[ 2 ] === undefined ) {\n\t\t\treturn 'ltr';\n\t\t}\n\t\treturn 'rtl';\n\t}\n\n\t$.extend( $.i18n.parser.emitter, {\n\t\t/**\n\t\t * Wraps argument with unicode control characters for directionality safety\n\t\t *\n\t\t * This solves the problem where directionality-neutral characters at the edge of\n\t\t * the argument string get interpreted with the wrong directionality from the\n\t\t * enclosing context, giving renderings that look corrupted like \"(Ben_(WMF\".\n\t\t *\n\t\t * The wrapping is LRE...PDF or RLE...PDF, depending on the detected\n\t\t * directionality of the argument string, using the BIDI algorithm's own \"First\n\t\t * strong directional codepoint\" rule. Essentially, this works round the fact that\n\t\t * there is no embedding equivalent of U+2068 FSI (isolation with heuristic\n\t\t * direction inference). The latter is cleaner but still not widely supported.\n\t\t *\n\t\t * @param {string[]} nodes The text nodes from which to take the first item.\n\t\t * @return {string} Wrapped String of content as needed.\n\t\t */\n\t\tbidi: function ( nodes ) {\n\t\t\tvar dir = strongDirFromContent( nodes[ 0 ] );\n\t\t\tif ( dir === 'ltr' ) {\n\t\t\t\t// Wrap in LEFT-TO-RIGHT EMBEDDING ... POP DIRECTIONAL FORMATTING\n\t\t\t\treturn '\\u202A' + nodes[ 0 ] + '\\u202C';\n\t\t\t}\n\t\t\tif ( dir === 'rtl' ) {\n\t\t\t\t// Wrap in RIGHT-TO-LEFT EMBEDDING ... POP DIRECTIONAL FORMATTING\n\t\t\t\treturn '\\u202B' + nodes[ 0 ] + '\\u202C';\n\t\t\t}\n\t\t\t// No strong directionality: do not wrap\n\t\t\treturn nodes[ 0 ];\n\t\t}\n\t} );\n}( jQuery ) );\n","module.exports = jQuery;","/*!\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 MessageParserEmitter = function () {\n\t\tthis.language = $.i18n.languages[ String.locale ] || $.i18n.languages[ 'default' ];\n\t};\n\n\tMessageParserEmitter.prototype = {\n\t\tconstructor: MessageParserEmitter,\n\n\t\t/**\n\t\t * (We put this method definition here, and not in prototype, to make\n\t\t * sure it's not overwritten by any magic.) Walk entire node structure,\n\t\t * applying replacements and template functions when appropriate\n\t\t *\n\t\t * @param {Mixed} node abstract syntax tree (top node or subnode)\n\t\t * @param {Array} replacements for $1, $2, ... $n\n\t\t * @return {Mixed} single-string node or array of nodes suitable for\n\t\t * jQuery appending.\n\t\t */\n\t\temit: function ( node, replacements ) {\n\t\t\tvar ret, subnodes, operation,\n\t\t\t\tmessageParserEmitter = this;\n\n\t\t\tswitch ( typeof node ) {\n\t\t\t\tcase 'string':\n\t\t\t\tcase 'number':\n\t\t\t\t\tret = node;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'object':\n\t\t\t\t// node is an array of nodes\n\t\t\t\t\tsubnodes = $.map( node.slice( 1 ), function ( n ) {\n\t\t\t\t\t\treturn messageParserEmitter.emit( n, replacements );\n\t\t\t\t\t} );\n\n\t\t\t\t\toperation = node[ 0 ].toLowerCase();\n\n\t\t\t\t\tif ( typeof messageParserEmitter[ operation ] === 'function' ) {\n\t\t\t\t\t\tret = messageParserEmitter[ operation ]( subnodes, replacements );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthrow new Error( 'unknown operation \"' + operation + '\"' );\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'undefined':\n\t\t\t\t// Parsing the empty string (as an entire expression, or as a\n\t\t\t\t// paramExpression in a template) results in undefined\n\t\t\t\t// Perhaps a more clever parser can detect this, and return the\n\t\t\t\t// empty string? Or is that useful information?\n\t\t\t\t// The logical thing is probably to return the empty string here\n\t\t\t\t// when we encounter undefined.\n\t\t\t\t\tret = '';\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error( 'unexpected type in AST: ' + typeof node );\n\t\t\t}\n\n\t\t\treturn ret;\n\t\t},\n\n\t\t/**\n\t\t * Parsing has been applied depth-first we can assume that all nodes\n\t\t * here are single nodes Must return a single node to parents -- a\n\t\t * jQuery with synthetic span However, unwrap any other synthetic spans\n\t\t * in our children and pass them upwards\n\t\t *\n\t\t * @param {Array} nodes Mixed, some single nodes, some arrays of nodes.\n\t\t * @return {string}\n\t\t */\n\t\tconcat: function ( nodes ) {\n\t\t\tvar result = '';\n\n\t\t\t$.each( nodes, function ( i, node ) {\n\t\t\t\t// strings, integers, anything else\n\t\t\t\tresult += node;\n\t\t\t} );\n\n\t\t\treturn result;\n\t\t},\n\n\t\t/**\n\t\t * Return escaped replacement of correct index, or string if\n\t\t * unavailable. Note that we expect the parsed parameter to be\n\t\t * zero-based. i.e. $1 should have become [ 0 ]. if the specified\n\t\t * parameter is not found return the same string (e.g. \"$99\" ->\n\t\t * parameter 98 -> not found -> return \"$99\" ) TODO throw error if\n\t\t * nodes.length > 1 ?\n\t\t *\n\t\t * @param {Array} nodes One element, integer, n >= 0\n\t\t * @param {Array} replacements for $1, $2, ... $n\n\t\t * @return {string} replacement\n\t\t */\n\t\treplace: function ( nodes, replacements ) {\n\t\t\tvar index = parseInt( nodes[ 0 ], 10 );\n\n\t\t\tif ( index < replacements.length ) {\n\t\t\t\t// replacement is not a string, don't touch!\n\t\t\t\treturn replacements[ index ];\n\t\t\t} else {\n\t\t\t\t// index not found, fallback to displaying variable\n\t\t\t\treturn '$' + ( index + 1 );\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Transform parsed structure into pluralization n.b. The first node may\n\t\t * be a non-integer (for instance, a string representing an Arabic\n\t\t * number). So convert it back with the current language's\n\t\t * convertNumber.\n\t\t *\n\t\t * @param {Array} nodes List [ {String|Number}, {String}, {String} ... ]\n\t\t * @return {string} selected pluralized form according to current\n\t\t * language.\n\t\t */\n\t\tplural: function ( nodes ) {\n\t\t\tvar count = parseFloat( this.language.convertNumber( nodes[ 0 ], 10 ) ),\n\t\t\t\tforms = nodes.slice( 1 );\n\n\t\t\treturn forms.length ? this.language.convertPlural( count, forms ) : '';\n\t\t},\n\n\t\t/**\n\t\t * Transform parsed structure into gender Usage\n\t\t * {{gender:gender|masculine|feminine|neutral}}.\n\t\t *\n\t\t * @param {Array} nodes List [ {String}, {String}, {String} , {String} ]\n\t\t * @return {string} selected gender form according to current language\n\t\t */\n\t\tgender: function ( nodes ) {\n\t\t\tvar gender = nodes[ 0 ],\n\t\t\t\tforms = nodes.slice( 1 );\n\n\t\t\treturn this.language.gender( gender, forms );\n\t\t},\n\n\t\t/**\n\t\t * Transform parsed structure into grammar conversion. Invoked by\n\t\t * putting {{grammar:form|word}} in a message\n\t\t *\n\t\t * @param {Array} nodes List [{Grammar case eg: genitive}, {String word}]\n\t\t * @return {string} selected grammatical form according to current\n\t\t * language.\n\t\t */\n\t\tgrammar: function ( nodes ) {\n\t\t\tvar form = nodes[ 0 ],\n\t\t\t\tword = nodes[ 1 ];\n\n\t\t\treturn word && form && this.language.convertGrammar( word, form );\n\t\t}\n\t};\n\n\t$.extend( $.i18n.parser.emitter, new MessageParserEmitter() );\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 ) );","/*!\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) 2012 Santhosh Thottingal\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 I18N,\n\t\tslice = Array.prototype.slice;\n\t/**\n\t * @constructor\n\t * @param {Object} options\n\t */\n\tI18N = function ( options ) {\n\t\t// Load defaults\n\t\tthis.options = $.extend( {}, I18N.defaults, options );\n\n\t\tthis.parser = this.options.parser;\n\t\tthis.locale = this.options.locale;\n\t\tthis.messageStore = this.options.messageStore;\n\t\tthis.languages = {};\n\t};\n\n\tI18N.prototype = {\n\t\t/**\n\t\t * Localize a given messageKey to a locale.\n\t\t * @param {String} messageKey\n\t\t * @return {String} Localized message\n\t\t */\n\t\tlocalize: function ( messageKey ) {\n\t\t\tvar localeParts, localePartIndex, locale, fallbackIndex,\n\t\t\t\ttryingLocale, message;\n\n\t\t\tlocale = this.locale;\n\t\t\tfallbackIndex = 0;\n\n\t\t\twhile ( locale ) {\n\t\t\t\t// Iterate through locales starting at most-specific until\n\t\t\t\t// localization is found. As in fi-Latn-FI, fi-Latn and fi.\n\t\t\t\tlocaleParts = locale.split( '-' );\n\t\t\t\tlocalePartIndex = localeParts.length;\n\n\t\t\t\tdo {\n\t\t\t\t\ttryingLocale = localeParts.slice( 0, localePartIndex ).join( '-' );\n\t\t\t\t\tmessage = this.messageStore.get( tryingLocale, messageKey );\n\n\t\t\t\t\tif ( message ) {\n\t\t\t\t\t\treturn message;\n\t\t\t\t\t}\n\n\t\t\t\t\tlocalePartIndex--;\n\t\t\t\t} while ( localePartIndex );\n\n\t\t\t\tif ( locale === 'en' ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tlocale = ( $.i18n.fallbacks[ this.locale ] &&\n\t\t\t\t\t\t$.i18n.fallbacks[ this.locale ][ fallbackIndex ] ) ||\n\t\t\t\t\t\tthis.options.fallbackLocale;\n\t\t\t\t$.i18n.log( 'Trying fallback locale for ' + this.locale + ': ' + locale + ' (' + messageKey + ')' );\n\n\t\t\t\tfallbackIndex++;\n\t\t\t}\n\n\t\t\t// key not found\n\t\t\treturn '';\n\t\t},\n\n\t\t/*\n\t\t * Destroy the i18n instance.\n\t\t */\n\t\tdestroy: function () {\n\t\t\t$.removeData( document, 'i18n' );\n\t\t},\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. Example:\n\t\t * 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 ) );","/*!\n * jQuery idleTimer plugin\n * version 0.9.100511\n * by Paul Irish.\n * http://github.com/paulirish/yui-misc/tree/\n * MIT license\n\n * adapted from YUI idle timer by nzakas:\n * http://github.com/nzakas/yui-misc/\n*/\n/*\n * Copyright (c) 2009 Nicholas C. Zakas\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/* updated to fix Chrome setTimeout issue by Zaid Zawaideh */\n\n // API available in <= v0.8\n /*******************************\n\n // idleTimer() takes an optional argument that defines the idle timeout\n // timeout is in milliseconds; defaults to 30000\n $.idleTimer(10000);\n\n\n $(document).bind(\"idle.idleTimer\", function(){\n // function you want to fire when the user goes idle\n });\n\n\n $(document).bind(\"active.idleTimer\", function(){\n // function you want to fire when the user becomes active again\n });\n\n // pass the string 'destroy' to stop the timer\n $.idleTimer('destroy');\n\n // you can query if the user is idle or not with data()\n $.data(document,'idleTimer'); // 'idle' or 'active'\n\n // you can get time elapsed since user when idle/active\n $.idleTimer('getElapsedTime'); // time since state change in ms\n\n ********/\n\n\n\n // API available in >= v0.9\n /*************************\n\n // bind to specific elements, allows for multiple timer instances\n $(elem).idleTimer(timeout|'destroy'|'getElapsedTime');\n $.data(elem,'idleTimer'); // 'idle' or 'active'\n\n // if you're using the old $.idleTimer api, you should not do $(document).idleTimer(...)\n\n // element bound timers will only watch for events inside of them.\n // you may just want page-level activity, in which case you may set up\n // your timers on document, document.documentElement, and document.body\n\n // You can optionally provide a second argument to override certain options.\n // Here are the defaults, so you can omit any or all of them.\n $(elem).idleTimer(timeout, {\n startImmediately: true, //starts a timeout as soon as the timer is set up; otherwise it waits for the first event.\n idle: false, //indicates if the user is idle\n enabled: true, //indicates if the idle timer is enabled\n events: 'mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove' // activity is one of these events\n });\n\n ********/\n\n(function($){\n\n$.idleTimer = function(newTimeout, elem, opts){\n\n // defaults that are to be stored as instance props on the elem\n\n\topts = $.extend({\n\t\tstartImmediately: true, //starts a timeout as soon as the timer is set up\n\t\tidle: false, //indicates if the user is idle\n\t\tenabled: true, //indicates if the idle timer is enabled\n\t\ttimeout: 30000, //the amount of time (ms) before the user is considered idle\n\t\tevents: 'mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove' // activity is one of these events\n\t}, opts);\n\n\n elem = elem || document;\n\n /* (intentionally not documented)\n * Toggles the idle state and fires an appropriate event.\n * @return {void}\n */\n var toggleIdleState = function(myelem){\n\n // curse you, mozilla setTimeout lateness bug!\n if (typeof myelem === 'number'){\n myelem = undefined;\n }\n\n var obj = $.data(myelem || elem,'idleTimerObj');\n\n //toggle the state\n obj.idle = !obj.idle;\n\n // reset timeout \n var elapsed = (+new Date()) - obj.olddate;\n obj.olddate = +new Date();\n\n // handle Chrome always triggering idle after js alert or comfirm popup\n if (obj.idle && (elapsed < opts.timeout)) {\n obj.idle = false;\n clearTimeout($.idleTimer.tId);\n if (opts.enabled)\n $.idleTimer.tId = setTimeout(toggleIdleState, opts.timeout);\n return;\n }\n \n //fire appropriate event\n\n // create a custom event, but first, store the new state on the element\n // and then append that string to a namespace\n var event = jQuery.Event( $.data(elem,'idleTimer', obj.idle ? \"idle\" : \"active\" ) + '.idleTimer' );\n\n // we do want this to bubble, at least as a temporary fix for jQuery 1.7\n // event.stopPropagation();\n $(elem).trigger(event);\n },\n\n /**\n * Stops the idle timer. This removes appropriate event handlers\n * and cancels any pending timeouts.\n * @return {void}\n * @method stop\n * @static\n */\n stop = function(elem){\n\n var obj = $.data(elem,'idleTimerObj') || {};\n\n //set to disabled\n obj.enabled = false;\n\n //clear any pending timeouts\n clearTimeout(obj.tId);\n\n //detach the event handlers\n $(elem).off('.idleTimer');\n },\n\n\n /* (intentionally not documented)\n * Handles a user event indicating that the user isn't idle.\n * @param {Event} event A DOM2-normalized event object.\n * @return {void}\n */\n handleUserEvent = function(){\n\n var obj = $.data(this,'idleTimerObj');\n\n //clear any existing timeout\n clearTimeout(obj.tId);\n\n\n\n //if the idle timer is enabled\n if (obj.enabled){\n\n\n //if it's idle, that means the user is no longer idle\n if (obj.idle){\n toggleIdleState(this);\n }\n\n //set a new timeout\n obj.tId = setTimeout(toggleIdleState, obj.timeout);\n\n }\n };\n\n\n /**\n * Starts the idle timer. This adds appropriate event handlers\n * and starts the first timeout.\n * @param {int} newTimeout (Optional) A new value for the timeout period in ms.\n * @return {void}\n * @method $.idleTimer\n * @static\n */\n\n\n var obj = $.data(elem,'idleTimerObj') || {};\n\n obj.olddate = obj.olddate || +new Date();\n\n //assign a new timeout if necessary\n if (typeof newTimeout === \"number\"){\n opts.timeout = newTimeout;\n } else if (newTimeout === 'destroy') {\n stop(elem);\n return this;\n } else if (newTimeout === 'getElapsedTime'){\n return (+new Date()) - obj.olddate;\n }\n\n //assign appropriate event handlers\n $(elem).on($.trim((opts.events+' ').split(' ').join('.idleTimer ')),handleUserEvent);\n\n\n obj.idle = opts.idle;\n obj.enabled = opts.enabled;\n obj.timeout = opts.timeout;\n\n\n //set a timeout to toggle state. May wish to omit this in some situations\n\tif (opts.startImmediately) {\n\t obj.tId = setTimeout(toggleIdleState, obj.timeout);\n\t}\n\n // assume the user is active for the first x seconds.\n $.data(elem,'idleTimer',\"active\");\n\n // store our instance on the object\n $.data(elem,'idleTimerObj',obj);\n\n\n\n}; // end of $.idleTimer()\n\n\n// v0.9 API for defining multiple timers.\n$.fn.idleTimer = function(newTimeout,opts){\n\t// Allow omission of opts for backward compatibility\n\tif (!opts) {\n\t\topts = {};\n\t}\n\n if(this[0]){\n $.idleTimer(newTimeout,this[0],opts);\n }\n\n return this;\n};\n\n\n})(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 = {\n lastPageUrl: currentPathname,\n isPtxBook: isPreTeXt(),\n };\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 let scp = document.querySelector(\"#scprogresscontainer\");\n if (scp) {\n scp.classList.add(\"ptx-runestone-container\");\n }\n $(\"#scprogresscontainer\").append(\n '
    \"\n );\n }\n });\n}\n\nfunction showLastPositionBanner() {\n var lastPositionVal = $.getUrlVar(\"lastPosition\");\n if (typeof lastPositionVal !== \"undefined\") {\n $(\"body\").append(\n ''\n );\n $(\"html, body\").animate({ scrollTop: parseInt(lastPositionVal) }, 1000);\n }\n}\n\nfunction addNavigationAndCompletionButtons() {\n if (\n window.location.href.match(\n /(index.html|genindex.html|navhelp.html|toc.html|assignments.html|Exercises.html|toctree.html)/\n )\n ) {\n return;\n }\n var navLinkBgRightHiddenPosition = -$(\"#navLinkBgRight\").outerWidth() - 5;\n var navLinkBgRightHalfOpen;\n var navLinkBgRightFullOpen = 0;\n\n if ($(\"#completionButton\").hasClass(\"buttonAskCompletion\")) {\n navLinkBgRightHalfOpen = navLinkBgRightHiddenPosition + 70;\n } else if ($(\"#completionButton\").hasClass(\"buttonConfirmCompletion\")) {\n navLinkBgRightHalfOpen = 0;\n }\n var relationsNextIconInitialPosition = $(\"#relations-next\").css(\"right\");\n var relationsNextIconNewPosition = -(navLinkBgRightHiddenPosition + 35);\n\n $(\"#navLinkBgRight\").css(\"right\", navLinkBgRightHiddenPosition).show();\n var navBgShown = false;\n $(window).scroll(function () {\n if (\n $(window).scrollTop() + $(window).height() ==\n $(document).height()\n ) {\n $(\"#navLinkBgRight\").animate(\n { right: navLinkBgRightHalfOpen },\n 200\n );\n $(\"#navLinkBgLeft\").animate({ left: \"0px\" }, 200);\n if ($(\"#completionButton\").hasClass(\"buttonConfirmCompletion\")) {\n $(\"#relations-next\").animate(\n { right: relationsNextIconNewPosition },\n 200\n );\n }\n navBgShown = true;\n } else if (navBgShown) {\n $(\"#navLinkBgRight\").animate(\n { right: navLinkBgRightHiddenPosition },\n 200\n );\n $(\"#navLinkBgLeft\").animate({ left: \"-65px\" }, 200);\n $(\"#relations-next\").animate({\n right: relationsNextIconInitialPosition,\n });\n navBgShown = false;\n }\n });\n\n var completionFlag = 0;\n if ($(\"#completionButton\").hasClass(\"buttonAskCompletion\")) {\n completionFlag = 0;\n } else {\n completionFlag = 1;\n }\n // Make sure we mark this page as visited regardless of how flakey\n // the onunload handlers become.\n processPageState(completionFlag, true, false, false);\n $(\"#completionButton\").on(\"click\", function () {\n var markingComplete = false;\n var markingIncomplete = false;\n if ($(this).hasClass(\"buttonAskCompletion\")) {\n $(this)\n .removeClass(\"buttonAskCompletion\")\n .addClass(\"buttonConfirmCompletion\")\n .html(\n \" Completed. Well Done!\"\n );\n $(\"#navLinkBgRight\").animate({ right: navLinkBgRightFullOpen });\n $(\"#relations-next\").animate({\n right: relationsNextIconNewPosition,\n });\n navLinkBgRightHalfOpen = 0;\n completionFlag = 1;\n markingComplete = true;\n } else if ($(this).hasClass(\"buttonConfirmCompletion\")) {\n $(this)\n .removeClass(\"buttonConfirmCompletion\")\n .addClass(\"buttonAskCompletion\")\n .html(\"Mark as Completed\");\n navLinkBgRightHalfOpen = navLinkBgRightHiddenPosition + 70;\n $(\"#navLinkBgRight\").animate({ right: navLinkBgRightHalfOpen });\n $(\"#relations-next\").animate({\n right: relationsNextIconInitialPosition,\n });\n completionFlag = 0;\n markingIncomplete = true;\n }\n processPageState(\n completionFlag,\n false,\n markingComplete,\n markingIncomplete\n );\n });\n\n // we cannot afford to do this at both load and unload especially as users\n // go from page to page. This just doubles the load. So, try without this one.\n // $(window).on(\"beforeunload\", function (e) {\n // if (completionFlag == 0) {\n // processPageState(completionFlag, false, false, false);\n // }\n // });\n}\n\n// _ decorateTableOfContents\n// -------------------------\nfunction decorateTableOfContents() {\n if (\n window.location.href.toLowerCase().indexOf(\"toc.html\") != -1 ||\n window.location.href.toLowerCase().indexOf(\"index.html\") != -1 ||\n window.location.href.toLowerCase().indexOf(\"frontmatter\") != -1\n ) {\n if (!isPreTeXt()) {\n jQuery.get(\n `${eBookConfig.new_server_prefix}/logger/getAllCompletionStatus`,\n function (data) {\n var subChapterList;\n if (data != \"None\") {\n subChapterList = data.detail;\n\n var allSubChapterURLs = $(\"#main-content div li a\");\n $.each(subChapterList, function (index, item) {\n for (var s = 0; s < allSubChapterURLs.length; s++) {\n if (\n allSubChapterURLs[s].href.indexOf(\n item.chapterName +\n \"/\" +\n item.subChapterName\n ) != -1\n ) {\n if (item.completionStatus == 1) {\n $(allSubChapterURLs[s].parentElement)\n .addClass(\"completed\")\n .append(\n '- Completed this topic on ' +\n item.endDate +\n \"\"\n )\n .children()\n .first()\n .hover(\n function () {\n $(this)\n .next(\n \".infoTextCompleted\"\n )\n .show();\n },\n function () {\n $(this)\n .next(\n \".infoTextCompleted\"\n )\n .hide();\n }\n );\n } else if (item.completionStatus == 0) {\n $(allSubChapterURLs[s].parentElement)\n .addClass(\"active\")\n .append(\n 'Last read this topic on ' +\n item.endDate +\n \"\"\n )\n .children()\n .first()\n .hover(\n function () {\n $(this)\n .next(\".infoTextActive\")\n .show();\n },\n function () {\n $(this)\n .next(\".infoTextActive\")\n .hide();\n }\n );\n }\n }\n }\n });\n }\n }\n );\n }\n var data = { course: eBookConfig.course };\n jQuery.get(\n `${eBookConfig.new_server_prefix}/logger/getlastpage`,\n data,\n function (data) {\n var lastPageData;\n if (data != \"None\") {\n lastPageData = data.detail;\n if (lastPageData.lastPageChapter != null) {\n $(\"#continue-reading\")\n .show()\n .html(\n '
    You were Last Reading: ' +\n lastPageData.lastPageChapter +\n (lastPageData.lastPageSubchapter\n ? \" > \" +\n lastPageData.lastPageSubchapter\n : \"\") +\n ' Continue Reading
    '\n );\n }\n }\n }\n );\n }\n}\n\nfunction enableCompletions() {\n getCompletions();\n showLastPositionBanner();\n addNavigationAndCompletionButtons();\n decorateTableOfContents();\n}\n\n// call enable user highlights after login\n$(document).on(\"runestone:login\", enableCompletions);\n\nfunction isPreTeXt() {\n let ptxMarker = document.querySelector(\"body.pretext\");\n if (ptxMarker) {\n return true;\n } else {\n return false;\n }\n}\n// _ processPageState\n// -------------------------\nfunction processPageState(\n completionFlag,\n pageLoad,\n markingComplete,\n markingIncomplete\n) {\n /*Log last page visited*/\n var currentPathname = window.location.pathname;\n if (currentPathname.indexOf(\"?\") !== -1) {\n currentPathname = currentPathname.substring(\n 0,\n currentPathname.lastIndexOf(\"?\")\n );\n }\n // Is this a ptx book?\n let isPtxBook = isPreTeXt();\n var data = {\n lastPageUrl: currentPathname,\n lastPageScrollLocation: Math.round($(window).scrollTop()),\n completionFlag: completionFlag,\n pageLoad: pageLoad,\n markingComplete: markingComplete,\n markingIncomplete: markingIncomplete,\n course: eBookConfig.course,\n isPtxBook: isPtxBook,\n };\n $(document).ajaxError(function (e, jqhxr, settings, exception) {\n console.log(\"Request Failed for \" + settings.url);\n console.log(e);\n });\n jQuery.ajax({\n url: `${eBookConfig.new_server_prefix}/logger/updatelastpage`,\n contentType: \"application/json; charset=utf-8\",\n dataType: \"json\",\n data: JSON.stringify(data),\n method: \"POST\",\n async: true,\n });\n}\n\n$.extend({\n getUrlVars: function () {\n var vars = [],\n hash;\n var hashes = window.location.search\n .slice(window.location.search.indexOf(\"?\") + 1)\n .split(\"&\");\n for (var i = 0; i < hashes.length; i++) {\n hash = hashes[i].split(\"=\");\n vars.push(hash[0]);\n vars[hash[0]] = hash[1];\n }\n return vars;\n },\n getUrlVar: function (name) {\n return $.getUrlVars()[name];\n },\n});\n","/*\n Support functions for PreTeXt books running on Runestone\n\n*/\n\nimport RunestoneBase from \"./runestonebase.js\";\n\nfunction setupPTXEvents() {\n let rb = new RunestoneBase();\n // log an event when a knowl is opened.\n document.querySelectorAll(\"[data-knowl]\").forEach((el) => {\n el.addEventListener(\"click\", function () {\n let div_id = el.getAttribute(\"data-knowl\");\n rb.logBookEvent({ event: \"knowl\", act: \"click\", div_id: div_id });\n });\n });\n let born_hidden = document.querySelectorAll(\"details.born-hidden-knowl\");\n born_hidden.forEach((el) => {\n // log an event when a knowl is opened that was born hidden\n el.addEventListener(\"toggle\", function () {\n if (el.open) {\n let div_id = el.id;\n rb.logBookEvent({ event: \"knowl\", act: \"open\", div_id: div_id });\n }\n });\n });\n // log an event when a sage cell is evaluated\n document.querySelectorAll(\".sagecell_evalButton\").forEach((btn) => {\n btn.addEventListener(\"click\", function () {\n let container = btn.closest(\".ptx-sagecell\");\n let codeInput = container ? container.querySelector(\".sagecell_input\") : null;\n let code = codeInput ? codeInput.textContent : \"\";\n let div_id = container ? container.id : null;\n if (! div_id) {\n console.warn(\"Could not find container or div_id for sagecell button\");\n return;\n }\n\n rb.logBookEvent({ event: \"sage\", act: \"run\", div_id: div_id });\n });\n });\n if (typeof eBookConfig !== \"undefined\" && !eBookConfig.isInstructor) {\n document.querySelectorAll(\".commentary\").forEach((el) => {\n el.style.display = \"none\";\n });\n }\n}\n\nwindow.addEventListener(\"load\", function () {\n console.log(\"setting up pretext\");\n setupPTXEvents();\n let wrap = document.getElementById(\"primary-navbar-sticky-wrapper\");\n if (wrap) {\n wrap.style.overflow = \"visible\";\n }\n});\n","import RunestoneBase from \"../../common/js/runestonebase.js\";\n\nexport class SpliceWrapper extends RunestoneBase {\n constructor() {\n super();\n this.initSplice();\n }\n\n initSplice() {\n // SPLICE Events\n window.addEventListener(\"message\", async (event) => {\n \n var sourceIframe = this.sendingIframe(event);\n console.log(`SpliceWrapper: received message subject: ${event.data.subject} from iframe: ${sourceIframe ? sourceIframe.id : \"unknown\"}`);\n if (event.data.subject == \"SPLICE.reportScoreAndState\") {\n this.handleScoreAndState(event, sourceIframe);\n } else if (event.data.subject == \"SPLICE.sendEvent\") {\n this.handleSpliceEvent(event, sourceIframe);\n } else if (event.data.subject == \"SPLICE.getState\") {\n await this.handleGetState(event, sourceIframe);\n } else if (\n event.origin === \"https://www.myopenmath.com\" &&\n typeof event.data === \"string\" &&\n event.data.indexOf(\"lti.ext.imathas.result\") != -1\n ) {\n // proof of concept for My Open Math\n let msgdata = JSON.parse(event.data);\n let jwt = basicParseJwt(msgdata.jwt);\n console.log(\n \"Result received from frame \" +\n msgdata.frame_id +\n \" with score \" +\n jwt.score\n );\n // todo send score to server\n // does MOM have a way to get the state?\n // todo send state to server\n }\n });\n }\n\n getUniqueID(event, frame) {\n // Determine the unique identifier for this activity\n // The SPLICE protocol allows for two possibilities\n // 1. activity_id is the unique id as assigned by the provider\n // 2. activity_id is the iframe src url\n // if the activity_id is set there may also be another attribute called domain\n // On Runestone we will try to map the activity to the div_id of the enclosing RS component\n // if possible, otherwise we will use the activity_id or iframe src\n // If an interactive is included in an exercises this allows us to map the score\n // to the id the instructor used to assign the problem.\n if (frame) {\n let rsDiv = frame.closest(\"[data-component]\");\n if (rsDiv) {\n return rsDiv.id;\n }\n }\n let location = event.data.activity_id;\n if (!location) {\n if (frame) {\n location = frame.src;\n } else {\n location = \"unknown\";\n console.error(\n \"Could not find iframe that sent the SPLICE event\"\n );\n }\n }\n return location;\n }\n\n handleScoreAndState(event, frame) {\n console.log(\"Got SPLICE.reportScoreAndState\");\n console.log(event.data.activity_id);\n console.log(event.data.score);\n console.log(event.data.state);\n let location = this.getUniqueID(event, frame);\n this.logBookEvent({\n event: event.data.subject,\n div_id: location,\n act: `score: ${event.data.score}`,\n score: event.data.score,\n percent: event.data.score,\n correct: event.data.score == 1.0 ? true : false,\n answer: JSON.stringify(event.data.state),\n });\n }\n\n sendingIframe(event) {\n // determine the iframe that sent the event\n // you would think that event.source would be the iframe\n // but it is not and getting the location out of event.source\n // creates CORS issues.\n for (const f of document.getElementsByTagName(\"iframe\")) {\n if (f.contentWindow === event.source) return f;\n }\n return undefined;\n }\n\n async getSavedState(location) {\n // fetch the state from the server\n try {\n const response = await fetch(\"/ns/assessment/results\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n div_id: location,\n course: eBookConfig.course,\n event: \"SPLICE.getState\",\n }),\n });\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`);\n }\n const data = await response.json();\n return data;\n } catch (error) {\n console.error(\"Error fetching SPLICE state:\", error);\n return null;\n }\n }\n\n async handleGetState(event, frame) {\n console.log(\"Got SPLICE.getState\");\n console.log(event.data.activity_id);\n console.log(event.data.state);\n // subject is SPLICE.getState.response\n let location = this.getUniqueID(event, frame);\n let res = await this.getSavedState(location);\n let state = res.detail.answer;\n event.source.postMessage(\n {\n message_id: event.data.message_id,\n subject: \"SPLICE.getState.response\",\n state: state,\n },\n \"*\"\n );\n }\n\n handleSpliceEvent(event, frame) {\n // handle generic SPLICE events, such as logged clicks\n // or other events. SPLICE does not require that we do\n // anything with them, but in keeping with our tradition\n // we will save them to the useinfo table in the database\n // in case they prove to be useful for research later\n console.log(\"Got SPLICE.sendEvent\");\n console.log(event.data.activity_id);\n console.log(event.data.name);\n //console.log(event.data.data);\n let location = this.getUniqueID(event, frame);\n this.logBookEvent({\n event: event.data.subject,\n div_id: location,\n act: event.data.name || \"unknown\",\n });\n }\n // these stubs are not implemented, but are required by the RunestoneBase class\n checkLocalStorage() {}\n setLocalStorage() {}\n restoreAnswers() {}\n disableInteraction() {}\n}\n\nfunction basicParseJwt(token) {\n var base64Url = token.split(\".\")[1];\n var base64 = base64Url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n var jsonPayload = decodeURIComponent(\n window\n .atob(base64)\n .split(\"\")\n .map(function (c) {\n return \"%\" + (\"00\" + c.charCodeAt(0).toString(16)).slice(-2);\n })\n .join(\"\")\n );\n return JSON.parse(jsonPayload);\n}\n","// ***********************************************************************************\n// |docname| - A framework allowing a Runestone component to load only the JS it needs\n// ***********************************************************************************\n// The JavaScript required by all Runestone components is quite large and results in slow page loads. This approach enables a Runestone component to load only the JavaScript it needs, rather than loading JavaScript for all the components regardless of which are actually used.\n//\n// To accomplish this, webpack's split-chunks ability analyzes all JS, starting from this file. The dynamic imports below are transformed by webpack into the dynamic fetches of just the JS required by each file and all its dependencies. (If using static imports, webpack will assume that all files are already statically loaded via script tags, defeating the purpose of this framework.)\n//\n// However, this approach leads to complexity:\n//\n// - The ``data-component`` attribute of each component must be kept in sync with the keys of the ``module_map`` below.\n// - The values in the ``module_map`` must be kept in sync with the JavaScript files which implement each of the components.\n\n// Static imports\n// ==============\n// These imports are (we assume) needed by all pages. However, it would be much better to load these in the modules that actually use them.\n//\n// These are static imports; code in `dynamically loaded components`_ deals with dynamic imports.\n//\n// jQuery-related imports.\nimport \"jquery-ui/jquery-ui.js\";\nimport \"jquery-ui/themes/base/jquery.ui.all.css\";\nimport \"./runestone/common/js/jquery.idle-timer.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.emitter.bidi.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.emitter.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.fallbacks.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.messagestore.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.parser.js\";\nimport \"./runestone/common/js/jquery_i18n/jquery.i18n.language.js\";\n\n// Bootstrap - not needed for pxx development\nimport \"bootstrap/dist/js/bootstrap.js\";\n\n// common styles come from here\nimport \"./ptxrs-bootstrap.less\";\nimport \"./runestone/common/project_template/_templates/plugin_layouts/sphinx_bootstrap/static/bootstrap-sphinx.js\";\n\n// Misc\nimport \"./runestone/common/js/bookfuncs.js\";\nimport \"./runestone/common/js/user-highlights.js\";\nimport \"./runestone/common/js/pretext.js\";\n\n// These belong in dynamic imports for the obvious component; however, these components don't include a ``data-component`` attribute.\nimport \"./runestone/matrixeq/css/matrixeq.css\";\nimport \"./runestone/webgldemo/css/webglinteractive.css\";\n\n// These are only needed for the Runestone book, but not in a library mode (such as pretext). I would prefer to dynamically load them. However, these scripts are so small I haven't bothered to do so.\nimport { getSwitch, switchTheme } from \"./runestone/common/js/theme.js\";\nimport \"./runestone/common/js/presenter_mode.js\";\nimport \"./runestone/common/css/presenter_mode.less\";\nimport { renderOneComponent } from \"./runestone/common/js/renderComponent.js\";\nimport RunestoneBase from \"./runestone/common/js/runestonebase.js\";\nimport { SpliceWrapper } from \"./runestone/splice/js/spliceWrapper.js\";\n\n// Dynamically loaded components\n// =============================\n// This provides a list of modules that components can dynamically import. Webpack will create a list of imports for each based on its analysis.\nconst module_map = {\n // Wrap each import in a function, so that it won't occur until the function is called. While something cleaner would be nice, webpack can't analyze things like ``import(expression)``.\n //\n // The keys must match the value of each component's ``data-component`` attribute -- the ``runestone_import`` and ``runestone_auto_import`` functions assume this.\n activecode: () => import(\"./runestone/activecode/js/acfactory.js\"),\n ble: () => import(\"./runestone/cellbotics/js/ble.js\"),\n // Always import the timed version of a component if available, since the timed components also define the component's factory and include the component as well. Note that ``acfactory`` imports the timed components of ActiveCode, so it follows this pattern.\n clickablearea: () =>\n import(\"./runestone/clickableArea/js/timedclickable.js\"),\n codelens: () => import(\"./runestone/codelens/js/codelens.js\"),\n datafile: () => import(\"./runestone/datafile/js/datafile.js\"),\n dragndrop: () => import(\"./runestone/dragndrop/js/timeddnd.js\"),\n fillintheblank: () => import(\"./runestone/fitb/js/timedfitb.js\"),\n groupsub: () => import(\"./runestone/groupsub/js/groupsub.js\"),\n khanex: () => import(\"./runestone/khanex/js/khanex.js\"),\n lp_build: () => import(\"./runestone/lp/js/lp.js\"),\n matching: () => import(\"./runestone/matching/js/matching.js\"),\n multiplechoice: () => import(\"./runestone/mchoice/js/timedmc.js\"),\n hparsons: () => import(\"./runestone/hparsons/js/hparsons.js\"),\n parsons: () => import(\"./runestone/parsons/js/timedparsons.js\"),\n poll: () => import(\"./runestone/poll/js/poll.js\"),\n quizly: () => import(\"./runestone/quizly/js/quizly.js\"),\n reveal: () => import(\"./runestone/reveal/js/reveal.js\"),\n selectquestion: () => import(\"./runestone/selectquestion/js/selectone.js\"),\n shortanswer: () =>\n import(\"./runestone/shortanswer/js/timed_shortanswer.js\"),\n showeval: () => import(\"./runestone/showeval/js/showEval.js\"),\n simple_sensor: () => import(\"./runestone/cellbotics/js/simple_sensor.js\"),\n spreadsheet: () => import(\"./runestone/spreadsheet/js/spreadsheet.js\"),\n tabbedStuff: () => import(\"./runestone/tabbedStuff/js/tabbedstuff.js\"),\n timedAssessment: () => import(\"./runestone/timed/js/timed.js\"),\n wavedrom: () => import(\"./runestone/wavedrom/js/wavedrom.js\"),\n // TODO: since this isn't in a ``data-component``, need to trigger an import of this code manually.\n webwork: () => import(\"./runestone/webwork/js/webwork.js\"),\n youtube: () => import(\"./runestone/video/js/runestonevideo.js\"),\n doenet: () => Promise.resolve(), // Doenet is loaded separately\n};\n\nconst module_map_cache = {};\nconst QUEUE_FLUSH_TIME_MS = 10;\nconst queue = [];\nlet queueLastFlush = 0;\n/**\n * Queue imports that are requested within `QUEUE_FLUSH_TIME_MS` of each other.\n * All such imports are imported at once, and then a promise is fired after all\n * the imports in the queue window have completed.\n */\nfunction queueImport(component_name) {\n let resolve = null;\n let reject = null;\n const retPromise = new Promise((r, rej) => {\n resolve = r;\n reject = rej;\n });\n const item = { component_name, resolve, reject };\n queue.push(item);\n window.setTimeout(flushQueue, QUEUE_FLUSH_TIME_MS + 1);\n\n return retPromise;\n}\nasync function flushQueue() {\n if (queue.length === 0) {\n return;\n }\n if (Date.now() - queueLastFlush < QUEUE_FLUSH_TIME_MS) {\n window.setTimeout(flushQueue, QUEUE_FLUSH_TIME_MS + 1);\n return;\n }\n // If we made it here, it has been at least QUEUE_FLUSH_TIME_MS since\n // the last time we flushed the queue. Therefore, we should start flushing.\n // We copy everything we flush and empty the array first.\n queueLastFlush = Date.now();\n const toFlush = [...queue];\n queue.length = 0;\n console.log(\n \"Webpack is starting the loading process for the following Runestone modules\",\n toFlush.map((item) => item.component_name)\n );\n const flushedPromise = toFlush.map(async (item) => {\n try {\n await module_map[item.component_name]();\n console.log(\n `Runestone component ${item.component_name} has been loaded`\n );\n return item;\n } catch (e) {\n item.reject(e);\n }\n });\n const flushed = await Promise.all(flushedPromise);\n try {\n flushed.forEach(function (item) {\n if (item) {\n item.resolve();\n }\n });\n } catch (e) {\n console.error(e);\n }\n}\n\n// .. _dynamic import machinery:\n//\n// Dynamic import machinery\n// ========================\n// Fulfill a promise when the Runestone pre-login complete event occurs.\nlet pre_login_complete_promise = new Promise((resolve) =>\n $(document).on(\"runestone:pre-login-complete\", resolve)\n);\nlet loadedComponents;\n// Provide a simple function to import the JS for all components on the page.\nexport function runestone_auto_import() {\n // Create a set of ``data-component`` values, to avoid duplication.\n const s = new Set(\n // All Runestone components have a ``data-component`` attribute.\n $(\"[data-component]\")\n .map(\n // Extract the value of the data-component attribute.\n (index, element) => $(element).attr(\"data-component\")\n // Switch from a jQuery object back to an array, passing that to the Set constructor.\n )\n .get()\n );\n // webwork questions are not wrapped in div with a data-component so we have to check a different way\n if (document.querySelector(\".webwork-button\")) {\n s.add(\"webwork\");\n }\n\n // Load JS for each of the components found.\n const a = [...s].map((value) => {\n let z;\n console.log(`Loading Runestone component: ${value}`);\n try {\n z = (module_map[value] || (() => Promise.resolve()))();\n } catch (e) {\n console.error(`Error loading ${value}:`, e);\n }\n z.error = (msg) => console.error(`Error in ${value}:`, msg);\n return z;\n });\n\n // Send the Runestone login complete event when all JS is loaded and the pre-login is also complete.\n Promise.all([pre_login_complete_promise, ...a]).then(function () {\n if (!document.body.dataset.reactInUse) {\n document.dispatchEvent(new CustomEvent(\"runestone:login-complete\"));\n }\n });\n}\n\npre_login_complete_promise.then(() => {\n console.log(\"Runestone pre-login complete\");\n});\n\n// Load component JS when the document is ready.\n$(document).ready(runestone_auto_import);\n\n// Provide a function to import one specific `Runestone` component.\n// the import function inside module_map is async -- runestone_import\n// should be awaited when necessary to ensure the import completes\nexport async function runestone_import(component_name) {\n if (module_map_cache[component_name]) {\n return module_map_cache[component_name];\n }\n console.log(\n `Runestone component ${component_name} is being queued for import`\n );\n const promise = queueImport(component_name);\n module_map_cache[component_name] = promise;\n return promise;\n}\n\nasync function popupScratchAC() {\n // load the activecode bundle\n await runestone_import(\"activecode\");\n // scratchDiv will be defined if we have already created a scratch\n // activecode. If its not defined then we need to get it ready to toggle\n if (!eBookConfig.scratchDiv) {\n window.ACFactory.createScratchActivecode();\n let divid = eBookConfig.scratchDiv;\n window.componentMap[divid] = ACFactory.createActiveCode(\n $(`#${divid}`)[0],\n eBookConfig.acDefaultLanguage\n );\n if (eBookConfig.isLoggedIn) {\n window.componentMap[divid].enableSaveLoad();\n }\n }\n setTimeout(() => {\n window.ACFactory.toggleScratchActivecode();\n }, 100);\n}\n\n// Set the directory containing this script as the `path `_ for all webpacked scripts.\nconst script_src = document.currentScript.src;\n__webpack_public_path__ = script_src.substring(\n 0,\n script_src.lastIndexOf(\"/\") + 1\n);\n\nvar splice = new SpliceWrapper();\n\n// Manual exports\n// ==============\n// Webpack's ``output.library`` setting doesn't seem to work with the split chunks plugin; do all exports manually through the ``window`` object instead.\n\nconst rc = {};\nrc.runestone_import = runestone_import;\nrc.runestone_auto_import = runestone_auto_import;\nrc.getSwitch = getSwitch;\nrc.switchTheme = switchTheme;\nrc.popupScratchAC = popupScratchAC;\nrc.renderOneComponent = renderOneComponent;\nwindow.componentMap = {};\nwindow.runestoneComponents = rc;\n","export function getSwitch() {\n const toggleSwitch = document.querySelector('.theme-switch input[type=\"checkbox\"]');\n const currentTheme = localStorage.getItem('theme') ? localStorage.getItem('theme') : null;\n\n if (currentTheme) {\n document.documentElement.setAttribute('data-theme', currentTheme);\n\n if (currentTheme === 'dark') {\n toggleSwitch.checked = true;\n }\n }\n}\n\nexport function switchTheme() {\n\n\tvar checkBox = document.getElementById(\"checkbox\");\n if (checkBox.checked == true) {\n document.documentElement.setAttribute('data-theme', 'dark');\n localStorage.setItem('theme', 'dark'); //add this\n }\n else {\n document.documentElement.setAttribute('data-theme', 'light');\n localStorage.setItem('theme', 'light'); //add this\n }\n}\n","/* ********************************\n * |docname| - Runestone Base Class\n * ********************************\n * All runestone components should inherit from RunestoneBase. In addition all runestone components should do the following things:\n *\n * 1. Ensure that they are wrapped in a div with the class runestone\n * 2. Write their source AND their generated html to the database if the database is configured\n * 3. Properly save and restore their answers using the checkServer mechanism in this base class. Each component must provide an implementation of:\n *\n * - checkLocalStorage\n * - setLocalStorage\n * - restoreAnswers\n * - disableInteraction\n *\n * 4. provide a Selenium based unit test\n */\n\nimport { pageProgressTracker } from \"./bookfuncs.js\";\n//import \"./../styles/runestone-custom-sphinx-bootstrap.css\";\n\nvar NO_DECORATE = [\"parsonsMove\", \"showeval\", \"video\", \"poll\", \"view_toggle\",\n \"dashboard\", \"selectquestion\", \"codelens\", \"peer\", \"shortanswer\"]\nexport default class RunestoneBase {\n constructor(opts) {\n this.component_ready_promise = new Promise(\n (resolve) => (this._component_ready_resolve_fn = resolve)\n );\n this.optional = false;\n if (typeof window.allComponents === \"undefined\") {\n window.allComponents = [];\n }\n window.allComponents.push(this);\n if (opts) {\n this.sid = opts.sid;\n this.graderactive = opts.graderactive;\n this.showfeedback = true;\n if (opts.timed) {\n this.isTimed = true;\n }\n if (opts.enforceDeadline) {\n this.deadline = opts.deadline;\n }\n this.optional = this.parseBooleanAttribute(opts.orig, \"data-optional\");\n if (opts.selector_id) {\n this.selector_id = opts.selector_id;\n }\n if (typeof opts.assessmentTaken !== \"undefined\") {\n this.assessmentTaken = opts.assessmentTaken;\n } else {\n // default to true as this opt is only provided from a timedAssessment\n this.assessmentTaken = true;\n }\n // This is for the selectquestion points\n // If a selectquestion is part of a timed exam it will get\n // the timedWrapper options.\n if (typeof opts.timedWrapper !== \"undefined\") {\n this.timedWrapper = opts.timedWrapper;\n } else {\n // However sometimes selectquestions\n // are used in regular assignments. The hacky way to detect this\n // is to look for doAssignment in the URL and then grab\n // the assignment name from the heading.\n if (location.href.indexOf(\"doAssignment\") >= 0) {\n this.timedWrapper = $(\"h1#assignment_name\").text();\n } else {\n this.timedWrapper = null;\n }\n }\n if ($(opts.orig).data(\"question_label\")) {\n this.question_label = $(opts.orig).data(\"question_label\");\n }\n this.is_toggle = true ? opts.is_toggle : false;\n this.is_select = true ? opts.is_select : false;\n }\n this.mjelements = [];\n let self = this;\n this.mjReady = new Promise(function (resolve, reject) {\n self.mjresolver = resolve;\n });\n this.aQueue = new AutoQueue();\n if (opts && typeof opts.preamble !== \"undefined\") {\n this.preamble = opts.preamble;\n let y = document.createElement(\"div\");\n y.classList.add(\"hidden-content\");\n y.classList.add(\"process-math\");\n y.innerHTML = \"\\\\(\" + this.preamble + \"\\\\)\";\n // This is a hack to get the preamble into the DOM so that MathJax can process it.\n opts.orig.appendChild(y);\n y.id = \"ltx_preamble\";\n y.style.display = \"none\";\n // Add the preamble to the queue object so it can prepend it to\n // future MathJax processing\n this.aQueue.preamble = y\n }\n\n this.jsonHeaders = new Headers({\n \"Content-type\": \"application/json; charset=utf-8\",\n Accept: \"application/json\",\n });\n }\n\n // Helper for parsing boolean data-* attributes\n // Unset/\"false\"/\"no\" means false, anything else, including empty string means true\n parseBooleanAttribute(element, attributeName) {\n const attrValue = element.getAttribute(attributeName);\n if (attrValue === null) {\n return false;\n }\n const lowerValue = attrValue.toLowerCase();\n if (lowerValue === \"false\" || lowerValue === \"no\") {\n return false;\n }\n return true;\n }\n\n // _`logBookEvent`\n //----------------\n // This function sends the provided ``eventInfo`` to the `hsblog endpoint` of the server. Awaiting this function returns either ``undefined`` (if Runestone services are not available) or the data returned by the server as a JavaScript object (already JSON-decoded).\n async logBookEvent(eventInfo) {\n if (this.graderactive) {\n return;\n }\n let post_return;\n eventInfo.course_name = eBookConfig.course;\n eventInfo.clientLoginStatus = eBookConfig.isLoggedIn;\n eventInfo.timezoneoffset = new Date().getTimezoneOffset() / 60;\n // For selectquestions we need to log using the selector_id for real time scoring\n if (this.selector_id) {\n eventInfo.selector_id = this.selector_id;\n }\n if (typeof this.percent === \"number\") {\n eventInfo.percent = this.percent;\n }\n if (window.assignmentId) {\n eventInfo.assignment_id = window.assignmentId;\n }\n if (\n eBookConfig.isLoggedIn &&\n eBookConfig.useRunestoneServices &&\n eBookConfig.logLevel > 0\n ) {\n post_return = this.postLogMessage(eventInfo);\n }\n if (!this.isTimed || eBookConfig.debug) {\n let prefix = eBookConfig.isLoggedIn ? \"Save\" : \"Not\";\n console.log(`${prefix} logging event ` + JSON.stringify(eventInfo));\n }\n // When selectquestions are part of an assignment especially toggle questions\n // we need to count using the selector_id of the select question.\n // We also need to log an event for that selector so that we will know\n // that interaction has taken place. This is **independent** of how the\n // autograder will ultimately grade the question!\n if (this.selector_id) {\n eventInfo.div_id = this.selector_id.replace(\n \"-toggleSelectedQuestion\",\n \"\"\n );\n eventInfo.event = \"selectquestion\";\n eventInfo.act = \"interaction\";\n this.postLogMessage(eventInfo);\n }\n if (\n typeof pageProgressTracker.updateProgress === \"function\" &&\n eventInfo.act != \"edit\" &&\n this.optional == false\n ) {\n pageProgressTracker.updateProgress(eventInfo.div_id);\n }\n // if the event is in the NO_DECORATE list then don't decorate the status\n if (NO_DECORATE.indexOf(eventInfo.event) === -1) {\n this.decorateStatus();\n }\n return post_return;\n }\n\n async postLogMessage(eventInfo) {\n var post_return;\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/bookevent`,\n {\n method: \"POST\",\n headers: this.jsonHeaders,\n body: JSON.stringify(eventInfo),\n }\n );\n try {\n var response = await fetch(request);\n if (!response.ok) {\n if (response.status === 422) {\n // Get details about why this is unprocesable.\n post_return = await response.json();\n console.log(JSON.stringify(post_return.detail, null, 4));\n throw new Error(\"Unprocessable Request\");\n } else if (response.status == 401) {\n post_return = await response.json();\n console.log(\n `Missing authentication token ${post_return.detail}`\n );\n throw new Error(\"Missing authentication token\");\n }\n throw new Error(`Failed to save the log entry\n Status: ${response.status}`);\n }\n post_return = await response.json();\n let scoreSpec = post_return.detail;\n let gradeBox = null;\n if (this.selector_id) {\n let selector_id = this.selector_id.replace(\n \"-toggleSelectedQuestion\",\n \"\"\n );\n gradeBox = document.getElementById(`${selector_id}_score`);\n } else {\n gradeBox = document.getElementById(`${this.divid}_score`);\n }\n if (gradeBox && !this.isTimed && scoreSpec.score) {\n this.updateScores(gradeBox, scoreSpec);\n }\n } catch (e) {\n let detail = \"none\";\n if (post_return && post_return.detail) {\n detail = post_return.detail;\n }\n if (eBookConfig.useRunestoneServices) {\n alert(`Error: Your action was not saved!\n The error was ${e}\n Status Code: ${response.status}\n Detail: ${JSON.stringify(detail, null, 4)}.\n Please report this error!`);\n }\n // send a request to save this error\n console.log(\n `Error: ${e} Detail: ${detail} Status Code: ${response.status}`\n );\n }\n return post_return;\n }\n // update the score for the question and the total score\n // the presence of the gradeBox is used to determine if we are on an assignment page.\n updateScores(gradeBox, scoreSpec) {\n if (!scoreSpec.assigned || scoreSpec.score === null) {\n document.getElementById(`${this.divid}_message`).innerHTML = \"Score not updated. Submissions are closed.\";\n return;\n }\n let scoreSpan = gradeBox.getElementsByClassName(\"qscore\")[0];\n if (scoreSpan) {\n scoreSpan.innerHTML = scoreSpec.score.toFixed(1);\n }\n let allScores = document.getElementsByClassName(\"qscore\");\n let allmax = document.getElementsByClassName(\"qmaxscore\");\n let total = 0;\n let max = 0;\n for (let i = 0; i < allScores.length; i++) {\n total += parseFloat(allScores[i].innerHTML);\n max += parseFloat(allmax[i].innerHTML);\n }\n let totalSpan = document.getElementById(\"total_score\");\n if (totalSpan) {\n totalSpan.innerHTML = total.toFixed(1);\n }\n let maxSpan = document.getElementById(\"total_max\");\n if (maxSpan) {\n maxSpan.innerHTML = max;\n }\n let percentSpan = document.getElementById(\"total_percent\");\n if (percentSpan) {\n percentSpan.innerHTML = ((total / max) * 100).toFixed(2);\n }\n }\n\n // .. _logRunEvent:\n //\n // logRunEvent\n // -----------\n // This function sends the provided ``eventInfo`` to the `runlog endpoint`. When awaited, this function returns the data (decoded from JSON) the server sent back.\n async logRunEvent(eventInfo) {\n let post_promise = \"done\";\n if (this.graderactive) {\n return;\n }\n eventInfo.course = eBookConfig.course;\n eventInfo.clientLoginStatus = eBookConfig.isLoggedIn;\n eventInfo.timezoneoffset = new Date().getTimezoneOffset() / 60;\n if (this.forceSave || \"to_save\" in eventInfo === false) {\n eventInfo.save_code = \"True\";\n }\n if (typeof eventInfo.errinfo !== \"undefined\") {\n eventInfo.errinfo = eventInfo.errinfo.toString();\n }\n if (\n eBookConfig.isLoggedIn &&\n eBookConfig.useRunestoneServices &&\n eBookConfig.logLevel > 0\n ) {\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/runlog`,\n {\n method: \"POST\",\n headers: this.jsonHeaders,\n body: JSON.stringify(eventInfo),\n }\n );\n let response = await fetch(request);\n if (!response.ok) {\n post_promise = await response.json();\n if (eBookConfig.useRunestoneServices) {\n alert(`Failed to save your code\n Status is ${response.status}\n Detail: ${JSON.stringify(\n post_promise.detail,\n null,\n 4\n )}`);\n } else {\n console.log(\n `Did not save the code.\n Status: ${response.status}\n Detail: ${JSON.stringify(\n post_promise.detail,\n null,\n 4\n )}`\n );\n }\n } else {\n post_promise = await response.json();\n }\n }\n if (!this.isTimed || eBookConfig.debug) {\n console.log(\"running \" + JSON.stringify(eventInfo));\n }\n if (\n typeof pageProgressTracker.updateProgress === \"function\" &&\n this.optional == false\n ) {\n pageProgressTracker.updateProgress(eventInfo.div_id);\n }\n return post_promise;\n }\n /* Checking/loading from storage\n **WARNING:** DO NOT `await` this function!\n This function, although async, does not explicitly resolve its promise by returning a value. The reason for this is because it is called by the constructor for nearly every component. In Javascript constructors cannot be async!\n\n One of the recommended ways to handle the async requirements from within a constructor is to use an attribute as a promise and resolve that attribute at the appropriate time.\n */\n async checkServer(\n // A string specifying the event name to use for querying the :ref:`getAssessResults` endpoint.\n eventInfo,\n // If true, this function will invoke ``indicate_component_ready()`` just before it returns. This is provided since most components are ready after this function completes its work.\n //\n // TODO: This defaults to false, to avoid causing problems with any components that haven't been updated and tested. After all Runestone components have been updated, default this to true and remove the extra parameter from most calls to this function.\n will_be_ready = false\n ) {\n // Check if the server has stored answer\n let self = this;\n this.checkServerComplete = new Promise(function (resolve, reject) {\n self.csresolver = resolve;\n });\n if (\n eBookConfig.isLoggedIn &&\n (this.useRunestoneServices || this.graderactive)\n ) {\n let data = {};\n data.div_id = this.divid;\n data.course = eBookConfig.course;\n data.event = eventInfo;\n if (this.graderactive && this.deadline) {\n data.deadline = this.deadline;\n data.rawdeadline = this.rawdeadline;\n data.tzoff = this.tzoff;\n }\n if (this.sid) {\n data.sid = this.sid;\n }\n if (!(data.div_id && data.course && data.event)) {\n console.log(\n `A required field is missing data ${data.div_id}:${data.course}:${data.event}`\n );\n }\n // If we are NOT in practice mode and we are not in a peer exercise\n // and assessmentTaken is true\n if (\n !eBookConfig.practice_mode &&\n !eBookConfig.peer &&\n this.assessmentTaken\n ) {\n let request = new Request(\n `${eBookConfig.new_server_prefix}/assessment/results`,\n {\n method: \"POST\",\n body: JSON.stringify(data),\n headers: this.jsonHeaders,\n }\n );\n try {\n let response = await fetch(request);\n console.log(`Response from server: ${response.status}`);\n if (response.ok) {\n data = await response.json();\n data = data.detail;\n console.log(`Data from server: ${JSON.stringify(data)} calling repopulateFromStorage`);\n this.repopulateFromStorage(data);\n this.attempted = true;\n if (typeof data.correct !== \"undefined\") {\n this.correct = data.correct;\n } else {\n this.correct = null;\n }\n console.log(`resolving checkServer with server data`);\n this.csresolver(\"server\");\n } else {\n console.log(\n `HTTP Error getting results: ${response.statusText}`\n );\n this.checkLocalStorage(); // just go right to local storage\n console.log(`resolving checkServer with local data`);\n this.csresolver(\"local\");\n }\n } catch (err) {\n console.log(`Error getting results: ${err}`);\n try {\n this.checkLocalStorage();\n } catch (err) {\n console.log(err);\n }\n }\n } else {\n this.loadData({});\n console.log(`resolving checkServer no answer given`);\n this.csresolver(\"not taken\");\n }\n } else {\n this.checkLocalStorage(); // just go right to local storage\n console.log(`resolving checkServer with local data`);\n this.csresolver(\"local\");\n }\n\n if (will_be_ready) {\n this.indicate_component_ready();\n }\n }\n\n // This method assumes that ``this.componentDiv`` refers to the ``div`` containing the component, and that this component's ID is set.\n indicate_component_ready() {\n // Add a class to indicate the component is now ready.\n this.containerDiv.classList.add(\"runestone-component-ready\");\n // Resolve the ``this.component_ready_promise``.\n this._component_ready_resolve_fn();\n }\n\n loadData(data) {\n // for most classes, loadData doesn't do anything. But for Parsons, and perhaps others in the future,\n // initialization can happen even when there's no history to be loaded\n return null;\n }\n\n /**\n * repopulateFromStorage is called after a successful API call is made to ``getAssessResults`` in\n * the checkServer method in this class\n *\n * ``restoreAnswers,`` ``setLocalStorage`` and ``checkLocalStorage`` are defined in the child classes.\n *\n * @param {*} data - a JSON object representing the data needed to restore a previous answer for a component\n * @param {*} status - the http status\n * @param {*} whatever - ignored\n */\n repopulateFromStorage(data) {\n // decide whether to use the server's answer (if there is one) or to load from storage\n if (data !== null && data !== \"no data\" && this.shouldUseServer(data)) {\n this.restoreAnswers(data);\n this.setLocalStorage(data);\n } else {\n this.checkLocalStorage();\n }\n this.decorateStatus();\n }\n shouldUseServer(data) {\n // returns true if server data is more recent than local storage or if server storage is correct\n if (\n data.correct === \"T\" ||\n data.correct === true ||\n localStorage.length === 0 ||\n this.graderactive === true ||\n this.isTimed\n ) {\n return true;\n }\n let ex = localStorage.getItem(this.localStorageKey());\n if (ex === null) {\n return true;\n }\n let storedData;\n try {\n storedData = JSON.parse(ex);\n } catch (err) {\n // error while parsing; likely due to bad value stored in storage\n console.log(err.message);\n localStorage.removeItem(this.localStorageKey());\n // definitely don't want to use local storage here\n return true;\n }\n if (data.answer == storedData.answer) return true;\n let storageDate = new Date(storedData.timestamp);\n let serverDate = new Date(data.timestamp);\n return serverDate >= storageDate;\n }\n // Return the key which to be used when accessing local storage.\n localStorageKey() {\n return (\n eBookConfig.email +\n \":\" +\n eBookConfig.course +\n \":\" +\n this.divid +\n \"-given\"\n );\n }\n addCaption(elType) {\n //someElement.parentNode.insertBefore(newElement, someElement.nextSibling);\n if (!this.isTimed) {\n var capDiv = document.createElement(\"p\");\n if (this.question_label) {\n // Display caption based on whether Runestone services have been detected\n this.caption = eBookConfig.useRunestoneServices\n ? `Activity: ${this.question_label} ${this.caption} (${this.divid})`\n : `Activity: ${this.question_label} ${this.caption}`; // Without runestone\n $(capDiv).html(this.caption);\n $(capDiv).addClass(`${elType}_caption`);\n } else {\n // Display caption based on whether Runestone services have been detected\n $(capDiv).html(\n eBookConfig.useRunestoneServices\n ? this.caption + \" (\" + this.divid + \")\"\n : this.caption\n ); // Without runestone\n $(capDiv).addClass(`${elType}_caption`);\n $(capDiv).addClass(`${elType}_caption_text`);\n }\n this.capDiv = capDiv;\n //this.outerDiv.parentNode.insertBefore(capDiv, this.outerDiv.nextSibling);\n this.containerDiv.appendChild(capDiv);\n }\n }\n\n hasUserActivity() {\n return this.isAnswered;\n }\n\n checkCurrentAnswer() {\n console.log(\n \"Each component should provide an implementation of checkCurrentAnswer\"\n );\n }\n\n async logCurrentAnswer() {\n console.log(\n \"Each component should provide an implementation of logCurrentAnswer\"\n );\n }\n renderFeedback() {\n console.log(\n \"Each component should provide an implementation of renderFeedback\"\n );\n }\n disableInteraction() {\n console.log(\n \"Each component should provide an implementation of disableInteraction\"\n );\n }\n\n toString() {\n return `${this.constructor.name}: ${this.divid}`;\n }\n\n queueMathJax(component) {\n if (typeof MathJax === \"undefined\") {\n console.log(\"Error -- MathJax is not loaded\");\n return Promise.resolve(null);\n } else {\n // See - https://docs.mathjax.org/en/latest/advanced/typeset.html\n // Per the above we should keep track of the promises and only call this\n // a second time if all previous promises have resolved.\n // Create a queue of components\n // should wait until defaultPageReady is defined\n // If defaultPageReady is not defined then just enqueue the components.\n // Once defaultPageReady is defined\n // the window.runestoneMathReady promise will be fulfilled when the\n // initial typesetting is complete.\n if (MathJax.typesetPromise) {\n if (typeof window.runestoneMathReady !== \"undefined\") {\n return window.runestoneMathReady.then(() =>\n this.mjresolver(this.aQueue.enqueue(component))\n );\n } else {\n return this.mjresolver(this.aQueue.enqueue(component));\n }\n } else {\n console.log(`Waiting on MathJax!! ${MathJax.typesetPromise}`);\n setTimeout(() => this.queueMathJax(component), 200);\n console.log(`Returning mjready promise: ${this.mjReady}`);\n return this.mjReady;\n }\n }\n }\n\n decorateStatus() {\n if (this.isTimed || eBookConfig.peer) return;\n let rsDiv = $(this.containerDiv).closest(\"div.runestone\")[0];\n if (!rsDiv) return;\n rsDiv.classList.remove(\"notAnswered\");\n rsDiv.classList.remove(\"isInCorrect\");\n rsDiv.classList.remove(\"isCorrect\");\n if (this.correct) {\n rsDiv.classList.add(\"isCorrect\");\n } else {\n if (this.correct === null || typeof this.correct === \"undefined\") {\n rsDiv.classList.add(\"notAnswered\");\n } else {\n rsDiv.classList.add(\"isInCorrect\");\n }\n }\n }\n}\n\n// Inspiration and lots of code for this solution come from\n// https://stackoverflow.com/questions/53540348/js-async-await-tasks-queue\n// The idea here is that until MathJax is ready we can just enqueue things\n// once mathjax becomes ready then we can drain the queue and continue as usual.\n\nclass Queue {\n constructor() {\n this._items = [];\n }\n enqueue(item) {\n this._items.push(item);\n }\n dequeue() {\n return this._items.shift();\n }\n get size() {\n return this._items.length;\n }\n}\n\nclass AutoQueue extends Queue {\n constructor() {\n super();\n this._pendingPromise = false;\n }\n\n enqueue(component) {\n return new Promise((resolve, reject) => {\n super.enqueue({ component, resolve, reject });\n this.dequeue();\n });\n }\n\n async dequeue() {\n if (this._pendingPromise) return false;\n\n let item = super.dequeue();\n\n if (!item) return false;\n let qq = this;\n try {\n this._pendingPromise = true;\n\n let payload = await window.runestoneMathReady\n .then(async function () {\n console.log(\n `MathJax Ready -- dequeing a typesetting run for ${item.component.id} ${qq.preamble?.innerHTML}`\n );\n if (qq.preamble) {\n await MathJax.typesetPromise([qq.preamble])\n // Use insertAdjacentElement to preserve existing DOM elements and event listeners\n // instead of overwriting innerHTML which destroys event handlers\n let preambleDiv = document.createElement(\"div\");\n preambleDiv.innerHTML = qq.preamble.innerHTML;\n item.component.insertAdjacentElement(\"afterbegin\", preambleDiv);\n console.log(\n `MathJax typeset the preamble for ${item.component.id}`\n );\n return await MathJax.typesetPromise([item.component]);\n } else {\n return await MathJax.typesetPromise([item.component]);\n }\n });\n\n this._pendingPromise = false;\n item.resolve(payload);\n } catch (e) {\n this._pendingPromise = false;\n item.reject(e);\n } finally {\n // If there are more items in the queue, continue processing them\n this.dequeue();\n }\n\n return true;\n }\n}\n\nwindow.RunestoneBase = RunestoneBase;\n","/**\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 .\n\n */\n\n//\n// Page decoration functions\n//\n\nfunction addReadingList() {\n if (eBookConfig.readings) {\n var l, nxt, path_parts, nxt_link;\n let cur_path_parts = window.location.pathname.split(\"/\");\n let name =\n cur_path_parts[cur_path_parts.length - 2] +\n \"/\" +\n cur_path_parts[cur_path_parts.length - 1];\n // if body has pretext class, then strip the leading path parts from each of the strings in eBookConfig.readings\n let body = document.getElementsByTagName(\"body\")[0];\n let ptxbook = false;\n let endLop = 2;\n if (body.classList.contains(\"pretext\")) {\n ptxbook = true;\n eBookConfig.readings = eBookConfig.readings.map(r => r.split(\"/\").pop());\n name = name.split(\"/\").pop();\n endLop = 1;\n }\n\n let position = eBookConfig.readings.indexOf(name);\n let num_readings = eBookConfig.readings.length;\n if (position == eBookConfig.readings.length - 1) {\n // no more readings\n l = document.createElement(\"div\");\n l.textContent = `Finished reading assignment. Page ${num_readings} of ${num_readings}.`;\n } else if (position >= 0) {\n // get next name\n nxt = eBookConfig.readings[position + 1];\n path_parts = cur_path_parts.slice(0, cur_path_parts.length - endLop);\n path_parts.push(nxt);\n nxt_link = path_parts.join(\"/\");\n l = document.createElement(\"a\");\n l.name = \"link\";\n l.className = \"btn btn-lg reading-navigation next-reading\";\n l.href = nxt_link;\n l.textContent = `Continue to page ${\n position + 2\n } of ${num_readings} in the reading assignment.`;\n } else {\n l = document.createElement(\"div\");\n l.className = \"reading-navigation no-assignment\";\n l.textContent =\n \"This page is not part of the last reading assignment you visited.\";\n }\n // check the body tag to see if it has a pretext class (no jquery)\n if (ptxbook) {\n //append l to the body\n let pc = document.getElementById(\"scprogresscontainer\");\n if (pc) {\n pc.style.marginBottom = \"20px\";\n pc.appendChild(l);\n }\n return;\n }\n const mainContent = document.getElementById(\"main-content\");\n if (mainContent && l) {\n mainContent.appendChild(l);\n }\n }\n}\n\nfunction timedRefresh() {\n var timeoutPeriod = 900000; // 75 minutes\n let idleTimeoutId;\n\n function onIdle() {\n // After timeout period send the user back to the index. This will force a login\n // if needed when they want to go to a particular page. This may not be perfect\n // but its an easy way to make sure laptop users are properly logged in when they\n // take quizzes and save stuff.\n if (location.href.indexOf(\"index.html\") < 0) {\n console.log(\"Idle timer - \" + location.pathname);\n location.href =\n eBookConfig.app +\n \"/default/user/login?_next=\" +\n location.pathname +\n location.search;\n }\n }\n\n function resetIdleTimer() {\n if (idleTimeoutId) {\n clearTimeout(idleTimeoutId);\n }\n idleTimeoutId = setTimeout(onIdle, timeoutPeriod);\n }\n\n [\"mousemove\", \"keydown\", \"scroll\", \"click\", \"touchstart\", \"wheel\"].forEach(\n (eventName) => {\n window.addEventListener(eventName, resetIdleTimer, { passive: true });\n },\n );\n\n resetIdleTimer();\n}\n\nclass PageProgressBar {\n constructor(actDict) {\n this.possible = 0;\n this.total = 1;\n if (actDict && \"assignment_spec\" in actDict) {\n this.assignment_spec = actDict.assignment_spec;\n delete actDict.assignment_spec;\n }\n if (actDict && Object.keys(actDict).length > 0) {\n this.activities = actDict;\n } else {\n let activities = { page: 0 };\n document.querySelectorAll(\".runestone\").forEach(function (e) {\n activities[e.firstElementChild.id] = 0;\n });\n this.activities = activities;\n }\n this.calculateProgress();\n // Hide the progress bar on the index page.\n if (\n window.location.pathname.match(\n /.*\\/(index.html|toctree.html|Exercises.html|search.html)$/i,\n )\n ) {\n const scprogresscontainer = document.getElementById(\n \"scprogresscontainer\",\n );\n if (scprogresscontainer) scprogresscontainer.style.display = \"none\";\n }\n this.renderProgress();\n }\n\n calculateProgress() {\n for (let k in this.activities) {\n if (k !== undefined) {\n this.possible++;\n if (this.activities[k] > 0) {\n this.total++;\n }\n }\n }\n }\n\n renderProgress() {\n let value = 0;\n const scprogresstotal = document.getElementById(\"scprogresstotal\");\n if (scprogresstotal) scprogresstotal.textContent = this.total;\n const scprogressposs = document.getElementById(\"scprogressposs\");\n if (scprogressposs) scprogressposs.textContent = this.possible;\n try {\n value = (100 * this.total) / this.possible;\n } catch (e) {\n value = 0;\n }\n // Replace #subchapterprogress div with a native element if not already done\n let subchapterprogress = document.getElementById(\"subchapterprogress\");\n if (subchapterprogress && subchapterprogress.tagName !== \"PROGRESS\") {\n // Replace the div with a element\n const progressElem = document.createElement(\"progress\");\n progressElem.id = \"subchapterprogress\";\n progressElem.max = 100;\n progressElem.value = value;\n // Copy over any classes from the old div\n progressElem.className = subchapterprogress.className;\n subchapterprogress.replaceWith(progressElem);\n subchapterprogress = progressElem;\n } else if (subchapterprogress) {\n subchapterprogress.max = 100;\n subchapterprogress.value = value;\n }\n if (this.assignment_spec) {\n // If the user has completed all activities, send the reading score.\n // This handles the case where there are no activities on the page or\n // where the user completed activities on the assignment page and now\n // is viewing the reading page.\n let completeActivities = this.total - 1; // subtract 1 for the page reading which is in total but not an activity\n let requiredActivities =\n this.assignment_spec.activities_required || 0;\n if (completeActivities >= requiredActivities) {\n this.sendCompletedReadingScore().then(() => {\n console.log(\"Reading score sent for page\");\n // wait a tick then mark the page complete\n // this is needed to let the progress bar update before marking complete\n setTimeout(() => {\n let cb = document.getElementById(\"completionButton\");\n if (\n cb &&\n cb.textContent.toLowerCase() === \"mark as completed\"\n ) {\n cb.click();\n }\n }, 500);\n });\n }\n }\n if (!eBookConfig.isLoggedIn) {\n const subchapterDiv = document.getElementById(\"subchapterprogress\");\n if (subchapterDiv) subchapterDiv.classList.add(\"loggedout\");\n }\n }\n\n updateProgress(div_id) {\n this.activities[div_id]++;\n // Only update the progress bar on the first interaction with an object.\n if (this.activities[div_id] === 1) {\n this.total++;\n let val = (100 * this.total) / this.possible;\n const scprogresstotal2 = document.getElementById(\"scprogresstotal\");\n if (scprogresstotal2) scprogresstotal2.textContent = this.total;\n const scprogressposs2 = document.getElementById(\"scprogressposs\");\n if (scprogressposs2) scprogressposs2.textContent = this.possible;\n let subchapterprogress2 =\n document.getElementById(\"subchapterprogress\");\n if (\n subchapterprogress2 &&\n subchapterprogress2.tagName === \"PROGRESS\"\n ) {\n subchapterprogress2.value = val;\n }\n if (\n this.assignment_spec &&\n this.assignment_spec.activities_required !== null &&\n this.total >= this.assignment_spec.activities_required\n ) {\n console.log(\"Required activities completed\");\n this.sendCompletedReadingScore().then(() => {\n console.log(\"Reading score sent\");\n });\n }\n if (\n val == 100.0 &&\n (function () {\n const cb = document.getElementById(\"completionButton\");\n return (\n cb &&\n cb.textContent &&\n cb.textContent.toLowerCase() === \"mark as completed\"\n );\n })()\n ) {\n const cb = document.getElementById(\"completionButton\");\n if (cb && typeof cb.click === \"function\") {\n cb.click();\n }\n }\n }\n }\n\n async sendCompletedReadingScore() {\n let headers = new Headers({\n \"Content-type\": \"application/json; charset=utf-8\",\n Accept: \"application/json\",\n });\n let data = { ...this.assignment_spec };\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/update_reading_score`,\n {\n method: \"POST\",\n body: JSON.stringify(data),\n headers: headers,\n },\n );\n try {\n let response = await fetch(request);\n if (!response.ok) {\n console.error(\n `Failed to send reading score! ${response.statusText}`,\n );\n }\n data = await response.json();\n } catch (e) {\n console.error(`Error sending reading score ${e}`);\n }\n }\n}\n\nexport var pageProgressTracker = {};\n\nfunction getCookie(name) {\n const value = `; ${document.cookie}`;\n const parts = value.split(`; ${name}=`);\n if (parts.length === 2) return parts.pop().split(\";\").shift();\n}\n\nasync function handlePageSetup() {\n var mess;\n if (eBookConfig.useRunestoneServices) {\n let headers = new Headers({\n \"Content-type\": \"application/json; charset=utf-8\",\n Accept: \"application/json\",\n });\n let data = {\n timezoneoffset: new Date().getTimezoneOffset() / 60,\n timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n };\n let RS_info = getCookie(\"RS_info\");\n var tz_match = false;\n if (RS_info) {\n try {\n let cleaned = RS_info.replace(/\\\\054/g, \",\"); // handle octal comma encoding\n let info = JSON.parse(decodeURIComponent(cleaned));\n info = JSON.parse(decodeURIComponent(info));\n if (\n info.timezone === data.timezone &&\n info.tz_offset === data.timezoneoffset\n ) {\n console.log(\n \"Timezone cookie matches, not sending timezone to server\",\n );\n tz_match = true;\n }\n } catch (e) {\n console.error(\n \"Error parsing RS_info cookie, sending timezone to server\",\n );\n }\n }\n if (tz_match === false) {\n // Set a cookie so we don't have to do this again for a while.\n let request = new Request(\n `${eBookConfig.new_server_prefix}/logger/set_tz_offset`,\n {\n method: \"POST\",\n body: JSON.stringify(data),\n headers: headers,\n },\n );\n try {\n let response = await fetch(request);\n if (!response.ok) {\n console.error(\n `Failed to set timezone! ${response.statusText}`,\n );\n }\n data = await response.json();\n } catch (e) {\n console.error(`Error setting timezone ${e}`);\n }\n }\n }\n console.log(`This page served by ${eBookConfig.served_by}`);\n if (eBookConfig.isLoggedIn) {\n mess = `username: ${eBookConfig.username}`;\n if (!eBookConfig.isInstructor) {\n const ipDropdown = document.getElementById(\"ip_dropdown_link\");\n if (ipDropdown && typeof ipDropdown.remove === \"function\") {\n ipDropdown.remove();\n }\n const instPeer = document.getElementById(\"inst_peer_link\");\n if (instPeer && typeof instPeer.remove === \"function\") {\n instPeer.remove();\n }\n }\n document.dispatchEvent(new Event(\"runestone:login\"));\n addReadingList();\n // Avoid the timedRefresh on the grading page.\n if (\n window.location.pathname.indexOf(\"/admin/grading\") == -1 &&\n window.location.pathname.indexOf(\"/peer/\") == -1\n ) {\n timedRefresh();\n }\n } else {\n mess = \"Not logged in\";\n document.dispatchEvent(new Event(\"runestone:logout\"));\n let bw = document.getElementById(\"browsing_warning\");\n if (bw) {\n bw.innerHTML =\n \"\";\n }\n let aw = document.getElementById(\"ad_warning\");\n if (aw) {\n aw.innerHTML =\n \"\";\n }\n }\n document.querySelectorAll(\".loggedinuser\").forEach((el) => {\n el.innerHTML = mess;\n });\n\n pageProgressTracker = new PageProgressBar(eBookConfig.activities);\n notifyRunestoneComponents();\n}\n\nfunction setupNavbarLoggedIn() {\n const profileLink = document.getElementById(\"profilelink\");\n if (profileLink) profileLink.style.removeProperty(\"display\");\n const passwordLink = document.getElementById(\"passwordlink\");\n if (passwordLink) passwordLink.style.removeProperty(\"display\");\n const registerLink = document.getElementById(\"registerlink\");\n if (registerLink) registerLink.style.display = \"none\";\n document.querySelectorAll(\"li.loginout\").forEach((el) => {\n el.innerHTML =\n 'Log Out';\n });\n}\ndocument.addEventListener(\"runestone:login\", setupNavbarLoggedIn);\n\nfunction setupNavbarLoggedOut() {\n if (eBookConfig.useRunestoneServices) {\n console.log(\"setup navbar for logged out\");\n const registerLink = document.getElementById(\"registerlink\");\n if (registerLink) registerLink.style.removeProperty(\"display\");\n const profileLink = document.getElementById(\"profilelink\");\n if (profileLink) profileLink.style.display = \"none\";\n const passwordLink = document.getElementById(\"passwordlink\");\n if (passwordLink) passwordLink.style.display = \"none\";\n const ipDropdown = document.getElementById(\"ip_dropdown_link\");\n if (ipDropdown) ipDropdown.style.display = \"none\";\n const instPeer = document.getElementById(\"inst_peer_link\");\n if (instPeer) instPeer.style.display = \"none\";\n document.querySelectorAll(\"li.loginout\").forEach((el) => {\n el.innerHTML =\n 'Login';\n });\n document.querySelectorAll(\".footer\").forEach((el) => {\n el.innerHTML = \"user not logged in\";\n });\n }\n}\ndocument.addEventListener(\"runestone:logout\", setupNavbarLoggedOut);\n\nfunction notifyRunestoneComponents() {\n // Runestone components wait until login process is over to load components because of storage issues. This triggers the `dynamic import machinery`, which then sends the login complete signal when this and all dynamic imports are finished.\n console.log(\"triggering runestone:pre-login-complete\");\n document.dispatchEvent(new Event(\"runestone:pre-login-complete\"));\n}\n\nfunction placeAdCopy() {\n if (typeof showAd !== \"undefined\" && showAd) {\n let adNum = Math.floor(Math.random() * 2) + 1;\n let adBlock = document.getElementById(`adcopy_${adNum}`);\n let rsElements = document.querySelectorAll(\".runestone\");\n if (rsElements.length > 0) {\n let randomIndex = Math.floor(Math.random() * rsElements.length);\n rsElements[randomIndex].after(adBlock);\n adBlock.style.display = \"block\";\n }\n }\n}\n\n// initialize stuff\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n if (eBookConfig) {\n handlePageSetup();\n placeAdCopy();\n } else {\n if (typeof eBookConfig === \"undefined\") {\n console.log(\n \"eBookConfig is not defined. This page must not be set up for Runestone\",\n );\n }\n }\n});\n\n// misc stuff\n// todo: This could be further distributed but making a video.js file just for one function seems dumb.\nwindow.addEventListener(\"load\", function () {\n // add the video play button overlay image\n document.querySelectorAll(\".video-play-overlay\").forEach(function (el) {\n el.style.backgroundImage =\n \"url('{{pathto('_static/play_overlay_icon.png', 1)}}')\";\n });\n\n // This function is needed to allow the dropdown search bar to work;\n // The default behaviour is that the dropdown menu closes when something in\n // it (like the search bar) is clicked\n document\n .querySelectorAll(\".dropdown input, .dropdown label\")\n .forEach(function (el) {\n el.addEventListener(\"click\", function (e) {\n e.stopPropagation();\n });\n });\n\n // re-write some urls\n // This is tricker than it looks and you have to obey the rules for # anchors\n // The #anchors must come after the query string as the server basically ignores any part\n // of a url that comes after # - like a comment...\n if (location.href.includes(\"mode=browsing\")) {\n let queryString = \"?mode=browsing\";\n document.querySelectorAll(\"a\").forEach((link) => {\n let anchorText = \"\";\n if (\n link.href.includes(\"books/published\") &&\n !link.href.includes(\"?mode=browsing\")\n ) {\n if (link.href.includes(\"#\")) {\n let aPoint = link.href.indexOf(\"#\");\n anchorText = link.href.substring(aPoint);\n link.href = link.href.substring(0, aPoint);\n }\n link.href = link.href.includes(\"?\")\n ? link.href + queryString.replace(\"?\", \"&\") + anchorText\n : link.href + queryString + anchorText;\n }\n });\n }\n});\n\n/**\n * Returns true if the string appears to contain LaTeX math.\n */\nexport function looksLikeLatexMath(text) {\n if (typeof text !== \"string\") return false;\n\n // Common LaTeX math delimiters\n const mathDelimiters = [\n /\\$\\$[\\s\\S]+?\\$\\$/, // $$ ... $$\n /\\$[^$\\n]+?\\$/, // $ ... $\n /\\\\\\[[\\s\\S]+?\\\\\\]/, // \\[ ... \\]\n /\\\\\\([\\s\\S]+?\\\\\\)/, // \\( ... \\)\n ];\n\n // Common math commands (avoid generic \\text or \\ref-only cases)\n const mathCommands =\n /\\\\(frac|sqrt|sum|prod|int|lim|sin|cos|tan|log|ln|alpha|beta|gamma|pi|theta|sigma|Delta|cdot|times|leq|geq|neq)\\b/;\n\n // Superscripts/subscripts like x^2 or a_i\n const superSubScript = /[a-zA-Z0-9]\\s*[\\^_]\\s*\\{?.+?\\}?/;\n\n return (\n mathDelimiters.some((re) => re.test(text)) ||\n mathCommands.test(text) ||\n superSubScript.test(text)\n );\n}\n","import { runestone_import } from \"../../../webpack.index.js\";\n\nexport async function renderRunestoneComponent(\n componentSrc,\n whereDiv,\n moreOpts\n) {\n /**\n * The easy part is adding the componentSrc to the existing div.\n * The tedious part is calling the right functions to turn the\n * source into the actual component.\n */\n if (!componentSrc) {\n jQuery(`#${whereDiv}`).html(\n `

    Sorry, no source is available for preview.

    `\n );\n return;\n }\n let patt = /..\\/_images/g;\n componentSrc = componentSrc.replace(\n patt,\n `${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`\n );\n jQuery(`#${whereDiv}`).html(componentSrc);\n\n if (typeof window.componentMap === \"undefined\") {\n window.componentMap = {};\n }\n\n let componentKind = $($(`#${whereDiv} [data-component]`)[0]).data(\n \"component\"\n );\n // Import the JavaScript for this component before proceeding.\n await runestone_import(componentKind);\n let opt = {};\n opt.orig = jQuery(`#${whereDiv} [data-component]`)[0];\n if (opt.orig) {\n opt.lang = $(opt.orig).data(\"lang\");\n opt.useRunestoneServices = true;\n opt.graderactive = false;\n opt.python3 = true;\n if (typeof moreOpts !== \"undefined\") {\n for (let key in moreOpts) {\n opt[key] = moreOpts[key];\n }\n }\n }\n\n if (typeof component_factory === \"undefined\") {\n alert(\"Error: Missing the component factory!\");\n } else {\n if (\n !window.component_factory[componentKind] &&\n !jQuery(`#${whereDiv}`).html()\n ) {\n jQuery(`#${whereDiv}`).html(\n `

    Preview not available for ${componentKind}

    `\n );\n } else {\n let res = window.component_factory[componentKind](opt);\n if (componentKind === \"activecode\") {\n if (moreOpts.multiGrader) {\n window.componentMap[\n `${moreOpts.gradingContainer} ${res.divid}`\n ] = res;\n } else {\n window.componentMap[res.divid] = res;\n }\n }\n }\n }\n}\n\nexport function createTimedComponent(componentSrc, moreOpts) {\n /* The important distinction is that the component does not really need to be rendered\n into the page, in fact, due to the async nature of getting the source the list of questions\n is made and the original html is replaced by the look of the exam.\n */\n\n let patt = /..\\/_images/g;\n componentSrc = componentSrc.replace(\n patt,\n `${eBookConfig.app}/books/published/${eBookConfig.basecourse}/_images`\n );\n\n let componentKind = $($(componentSrc).find(\"[data-component]\")[0]).data(\n \"component\"\n );\n\n let origId = $(componentSrc).find(\"[data-component]\").first().attr(\"id\");\n\n // Double check -- if the component source is not in the DOM, then briefly add it\n // and call the constructor.\n let hdiv;\n if (!document.getElementById(origId)) {\n hdiv = $(\"
    \", {\n css: { display: \"none\" },\n }).appendTo(\"body\");\n hdiv.html(componentSrc);\n }\n // at this point hdiv is a jquery object\n\n let ret;\n let opts = {\n orig: document.getElementById(origId),\n timed: true,\n };\n if (typeof moreOpts !== \"undefined\") {\n for (let key in moreOpts) {\n opts[key] = moreOpts[key];\n }\n }\n\n if (componentKind in window.component_factory) {\n ret = window.component_factory[componentKind](opts);\n }\n\n let rdict = {};\n rdict.question = ret;\n return rdict;\n}\n\n// For integration with the React overhault of Pretext\n// 1. Disable the automatic instantiation at the end of each component.js\n// 2. react will search for all \".runestone\" and will call this function for each of them.\nexport async function renderOneComponent(rsDiv) {\n // Find the actual component inside the runestone component.\n let component = rsDiv.querySelector(\"[data-component]\");\n if (component == null) {\n console.log(\"Render was called for a component, but now [data-component] attribute is present. This may mean the component has already been rendered.\")\n return;\n }\n let componentKind = component.dataset.component;\n await runestone_import(componentKind);\n if ($(this).closest(\"[data-component=timedAssessment]\").length == 0) {\n // If this element exists within a timed component, don't render it here\n try {\n let divid = component.id;\n window.componentMap[divid] = window.component_factory[\n componentKind\n ]({\n orig: component,\n useRunestoneServices: eBookConfig.useRunestoneServices,\n });\n } catch (err) {\n console.log(`Error rendering ${componentKind} Problem ${this.id}\n Details: ${err}`);\n }\n }\n}\n"],"names":["$","patchToc","$ul","minLevel","findA","$elem","level","find","each","index","item","$item","tag","tagName","toLowerCase","$childrenLi","children","$parentLi","parent","length","addClass","first","attr","patchTables","removeClass","navHeight","height","shiftWindow","scrollBy","location","hash","window","addEventListener","this","remove","not","$parent","$kids","detach","replaceWith","after","$localLi","dropdown","i","e","hasClass","text","jQuery","codeExercises","presentModeInitialized","presentToggle","dataComponent","closest","css","wrapAll","wrap","before","presentModeSetup","bod","presentClass","fullHeightClass","bottomClass","localStorage","setItem","presenterCssLink","disabled","activateExercise","getActiveExercise","active","filter","nextExercise","nextIndex","prevExercise","prevIndex","document","on","eBookConfig","isInstructor","prepend","change","i18n","extend","fallbacks","ab","ace","aln","als","an","anp","arn","arz","av","ay","ba","bar","bcc","bh","bjn","bm","bpy","bqi","bug","ce","crh","csb","cv","dsb","dtp","egl","eml","ff","fit","frc","frp","frr","fur","gag","gan","gl","glk","gn","gsw","hif","hsb","ht","ii","inh","iu","jut","jv","kaa","kbd","khw","kiu","kk","kl","koi","krc","ks","ksh","ku","kv","lad","lb","lbe","lez","li","lij","liv","lmo","ln","ltg","lzz","mai","mg","mhr","min","mo","mrj","mwl","myv","mzn","nah","nap","nds","no","os","pcd","pdc","pdt","pfl","pms","pt","qu","qug","rgn","rmy","rue","ruq","sa","sah","scn","sg","sgs","sli","sr","srn","stq","su","szl","tcy","tg","tt","ty","udm","ug","uk","vec","vep","vls","vmf","vot","vro","wa","wo","wuu","xal","xmf","yi","za","zea","zh","language","pluralRules","ak","one","am","ar","zero","two","few","many","ars","as","be","bn","br","bs","cs","cy","da","fa","fil","fr","ga","gd","gu","guw","gv","he","hi","hr","hy","is","iw","kab","kn","kw","lag","lt","lv","mk","mr","mt","naq","nso","pa","pl","prg","ro","ru","se","sh","shi","si","sk","sl","sma","smi","smj","smn","sms","ti","tl","tzm","zu","convertPlural","count","forms","pluralFormIndex","form","explicitPluralPattern","RegExp","test","parseInt","slice","indexOf","undefined","map","locale","getPluralForm","Math","number","pluralForms","pluralRuleParser","convertNumber","num","integer","tmp","transformTable","numberString","convertedNumber","digitTransformTable","String","parseFloat","convertGrammar","word","gender","push","tables","ml","lo","or","kh","my","ta","te","th","bo","split","languages","strongDirRegExp","parser","emitter","bidi","nodes","m","dir","match","module","exports","MessageParserEmitter","prototype","constructor","emit","node","replacements","ret","subnodes","operation","messageParserEmitter","n","Error","concat","result","replace","plural","grammar","MessageParser","options","defaults","simpleParse","message","parameters","str","parse","ast","pipe","colon","backslash","anyCharacter","dollar","digits","regularLiteral","regularLiteralWithoutBar","escapedOrLiteralWithoutBar","escapedOrRegularLiteral","templateContents","templateName","openTemplate","closeTemplate","expression","paramExpression","p","fn","pos","choice","parserSyntax","sequence","res","originalPos","nOrMore","parsed","makeStringParser","s","len","makeRegexParser","regex","matches","escapedLiteral","replacement","templateParam","expr","templateWithReplacement","templateWithOutReplacement","template","toString","join","start","MessageStore","messages","sources","load","source","url","deferred","key","deferreds","messageStore","log","Deferred","getJSON","done","resolve","fail","jqxhr","settings","exception","promise","localization","set","Object","hasOwnProperty","call","when","apply","get","messageKey","I18N","nav","Array","localize","localeParts","localePartIndex","fallbackIndex","tryingLocale","fallbackLocale","destroy","removeData","fallbackLocales","locIndex","sourceMap","pop","param1","data","arguments","lBracket","rBracket","type","$this","html","debug","console","navigator","userLanguage","idleTimer","newTimeout","elem","opts","startImmediately","idle","enabled","timeout","events","toggleIdleState","myelem","obj","elapsed","Date","olddate","clearTimeout","tId","setTimeout","event","Event","trigger","off","stop","trim","isPreTeXt","querySelector","processPageState","completionFlag","pageLoad","markingComplete","markingIncomplete","currentPathname","pathname","substring","lastIndexOf","isPtxBook","lastPageUrl","lastPageScrollLocation","round","scrollTop","course","ajaxError","jqhxr","ajax","new_server_prefix","contentType","dataType","JSON","stringify","method","async","lastPositionVal","href","completionClass","completionMsg","detail","completionStatus","scp","classList","add","append","getCompletions","getUrlVar","animate","navLinkBgRightHalfOpen","navLinkBgRightHiddenPosition","outerWidth","relationsNextIconInitialPosition","relationsNextIconNewPosition","show","navBgShown","scroll","right","left","addNavigationAndCompletionButtons","subChapterList","allSubChapterURLs","chapterName","subChapterName","parentElement","endDate","hover","next","hide","lastPageData","lastPageChapter","lastPageSubchapter","decorateTableOfContents","getUrlVars","vars","hashes","search","name","rb","querySelectorAll","forEach","el","div_id","getAttribute","logBookEvent","act","open","id","btn","container","codeInput","textContent","warn","style","display","setupPTXEvents","getElementById","overflow","SpliceWrapper","super","initSplice","base64","jsonPayload","sourceIframe","sendingIframe","subject","handleScoreAndState","handleSpliceEvent","handleGetState","origin","msgdata","jwt","decodeURIComponent","atob","c","charCodeAt","frame_id","score","getUniqueID","frame","rsDiv","activity_id","src","error","state","percent","correct","answer","f","getElementsByTagName","contentWindow","getSavedState","response","fetch","headers","body","ok","status","json","postMessage","message_id","checkLocalStorage","setLocalStorage","restoreAnswers","disableInteraction","module_map","activecode","ble","clickablearea","codelens","datafile","dragndrop","fillintheblank","groupsub","khanex","lp_build","matching","multiplechoice","hparsons","parsons","poll","quizly","reveal","selectquestion","shortanswer","showeval","simple_sensor","spreadsheet","tabbedStuff","timedAssessment","wavedrom","webwork","youtube","doenet","Promise","module_map_cache","QUEUE_FLUSH_TIME_MS","queue","queueLastFlush","flushQueue","now","toFlush","component_name","flushedPromise","reject","flushed","all","pre_login_complete_promise","runestone_auto_import","Set","element","a","value","z","msg","then","dataset","reactInUse","dispatchEvent","CustomEvent","runestone_import","retPromise","r","rej","queueImport","ready","script_src","currentScript","rc","getSwitch","toggleSwitch","currentTheme","getItem","documentElement","setAttribute","checked","switchTheme","popupScratchAC","scratchDiv","ACFactory","createScratchActivecode","divid","componentMap","createActiveCode","acDefaultLanguage","isLoggedIn","enableSaveLoad","toggleScratchActivecode","renderOneComponent","runestoneComponents","NO_DECORATE","RunestoneBase","component_ready_promise","_component_ready_resolve_fn","optional","allComponents","sid","graderactive","showfeedback","timed","isTimed","enforceDeadline","deadline","parseBooleanAttribute","orig","selector_id","assessmentTaken","timedWrapper","question_label","is_toggle","is_select","mjelements","self","mjReady","mjresolver","aQueue","AutoQueue","preamble","y","createElement","innerHTML","appendChild","jsonHeaders","Headers","Accept","attributeName","attrValue","lowerValue","eventInfo","post_return","course_name","clientLoginStatus","timezoneoffset","getTimezoneOffset","assignmentId","assignment_id","useRunestoneServices","logLevel","postLogMessage","prefix","updateProgress","decorateStatus","request","Request","scoreSpec","gradeBox","updateScores","alert","assigned","scoreSpan","getElementsByClassName","toFixed","allScores","allmax","total","max","totalSpan","maxSpan","percentSpan","logRunEvent","post_promise","forceSave","save_code","errinfo","checkServer","will_be_ready","checkServerComplete","csresolver","rawdeadline","tzoff","practice_mode","peer","loadData","repopulateFromStorage","attempted","statusText","err","indicate_component_ready","containerDiv","shouldUseServer","storedData","ex","localStorageKey","removeItem","storageDate","timestamp","email","addCaption","elType","capDiv","caption","hasUserActivity","isAnswered","checkCurrentAnswer","logCurrentAnswer","renderFeedback","queueMathJax","component","MathJax","typesetPromise","runestoneMathReady","enqueue","Queue","_items","dequeue","shift","size","_pendingPromise","qq","payload","preambleDiv","insertAdjacentElement","PageProgressBar","actDict","possible","assignment_spec","keys","activities","page","firstElementChild","calculateProgress","scprogresscontainer","renderProgress","k","scprogresstotal","scprogressposs","subchapterprogress","progressElem","className","activities_required","sendCompletedReadingScore","cb","click","subchapterDiv","val","scprogresstotal2","scprogressposs2","subchapterprogress2","pageProgressTracker","looksLikeLatexMath","some","re","profileLink","removeProperty","passwordLink","registerLink","app","ipDropdown","instPeer","mess","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","RS_info","parts","cookie","getCookie","tz_match","cleaned","info","tz_offset","served_by","username","readings","l","nxt","path_parts","nxt_link","cur_path_parts","ptxbook","endLop","contains","position","num_readings","pc","marginBottom","mainContent","addReadingList","idleTimeoutId","onIdle","resetIdleTimer","eventName","passive","timedRefresh","bw","aw","handlePageSetup","showAd","adNum","floor","random","adBlock","rsElements","placeAdCopy","backgroundImage","stopPropagation","includes","queryString","link","anchorText","aPoint","renderRunestoneComponent","componentSrc","whereDiv","moreOpts","basecourse","componentKind","opt","lang","python3","component_factory","multiGrader","gradingContainer","createTimedComponent","hdiv","origId","appendTo","rdict","question"],"sourceRoot":""} \ No newline at end of file diff --git a/course/_static/prefix-runestone.c2757fc695bc848c.bundle.js.map.gz b/course/_static/prefix-runestone.c2757fc695bc848c.bundle.js.map.gz deleted file mode 100755 index 8550dd0..0000000 Binary files a/course/_static/prefix-runestone.c2757fc695bc848c.bundle.js.map.gz and /dev/null differ diff --git a/course/_static/prefix-runestone.f4ab138da65f4203.css.map b/course/_static/prefix-runestone.f4ab138da65f4203.css.map deleted file mode 100755 index 19c3288..0000000 --- a/course/_static/prefix-runestone.f4ab138da65f4203.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"prefix-runestone.f4ab138da65f4203.css","mappings":"AAAA;EAEE;;;;EAIA;EACA,2EAA2E;EAC3E,oFAAoF,CA4LtF,CApMA,qDCQE,yBAA0B,CAC1B,6BAA8B,CAF9B,sBDmMF,CA1MA,qDCYE,QDkMF,CA9MA,quBC2BE,aD+MF,CA1OA,oOCiCE,oBAAqB,CACrB,uBDmNF,CArPA,uFCqCE,YAAa,CACb,QDoNF,CA1PA,0HC0CE,YDsNF,CAhQA,+CC6CE,4BDuNF,CApQA,wHCiDE,SDyNF,CA1QA,mECoDE,kBAAmB,CACnB,yBAA0B,CAC1B,wCAAyC,CACzC,qCAAsC,CACtC,gCD0NF,CAlRA,wGC4DE,eD4NF,CAxRA,mDC+DE,iBD6NF,CA5RA,iDCkEE,aAAc,CACd,cD8NF,CAjSA,qDCsEE,eAAgB,CAChB,UD+NF,CAtSA,uDC0EE,aDgOF,CA1SA,sGC8EE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBDkOF,CAnTA,mDCoFE,SDmOF,CAvTA,mDCuFE,aDoOF,CA3TA,mDC0FE,QDqOF,CA/TA,yEC6FE,eDsOF,CAnUA,yDCgGE,eDuOF,CAvUA,iDCmGE,8BAA+B,CAC/B,2BAA4B,CAC5B,sBAAuB,CACvB,QDwOF,CA9UA,mDCyGE,aDyOF,CAlVA,gNC+GE,+BAAiC,CACjC,aD6OF,CA7VA,mSCuHE,aAAc,CACd,YAAa,CACb,QDkPF,CA3WA,yDC4HE,gBDmPF,CA/WA,kHCgIE,mBDqPF,CArXA,oTCsIE,yBAA0B,CAC1B,cDyPF,CAhYA,kKC2IE,cD2PF,CAtYA,wLC+IE,QAAS,CACT,SD6PF,CA7YA,uDCmJE,kBD8PF,CAjZA,oKCuJE,6BAA8B,CAC9B,0BAA2B,CAC3B,qBAAsB,CACtB,SDgQF,CA1ZA,8QC8JE,WDkQF,CAhaA,iFCiKE,4BAA6B,CAC7B,8BAA+B,CAC/B,2BAA4B,CAC5B,sBDmQF,CAvaA,oRCwKE,uBDqQF,CA7aA,6DC2KE,uBAAyB,CACzB,YAAa,CACb,0BDsQF,CAnbA,6DCoLE,aDwQF,CA5bA,6DCuLE,eDyQF,CAhcA,uDC0LE,wBAAyB,CACzB,gBD0QF,CArcA,kGC+LE,SD4QF,CCzQA,gLAMI,gCAAkC,CAClC,iCAAmC,CACnC,yBAA2B,CAJ3B,oBAAsB,CACtB,0BDiRF,CCtRF,8GAYI,yBDgRF,CC5RF,uEAeI,2BDiRF,CChSF,+EAkBI,4BDkRF,CCpSF,sLAsBI,UDoRF,CC1SF,oHA0BI,qBAAsB,CACtB,uBDsRF,CCjTF,uDA8BI,0BDuRF,CCrTF,oGAkCI,uBDyRF,CC3TF,mDAqCI,wBD0RF,CC/TF,iJA0CI,SAAU,CACV,QD6RF,CCxUF,kGA+CI,sBD+RF,CC9UF,2DAkDI,YDgSF,CClVF,sJAsDI,+BDkSF,CCxVF,yDAyDI,qBDmSF,CC5VF,yDA4DI,kCDoSF,CChWF,8HAgEI,+BDsSF,CCtWF,kKAoEI,+BDwSF,CACF,CCtSA,WACE,gCAAmC,CACnC,8BACA,uQDwSF,CApjBA,iECsRE,kCAAmC,CACnC,iCAAkC,CANlC,oBAAqB,CACrB,gCAAmC,CACnC,iBAAkB,CAClB,eAAgB,CAChB,aAAc,CANd,iBAAkB,CAClB,ODgTF,CAhkBA,iGC0RE,eD0SF,CApkBA,yFC6RE,eD2SF,CAxkBA,gLCiSE,eD6SF,CA9kBA,2FCoSE,eD8SF,CAllBA,2FCuSE,eD+SF,CAtlBA,iGC0SE,eDgTF,CA1lBA,6FC6SE,eDiTF,CA9lBA,2FCgTE,eDkTF,CAlmBA,2FCmTE,eDmTF,CAtmBA,6FCsTE,eDoTF,CA1mBA,2FCyTE,eDqTF,CA9mBA,yFC4TE,eDsTF,CAlnBA,qGC+TE,eDuTF,CAtnBA,yFCkUE,eDwTF,CA1nBA,yFCqUE,eDyTF,CA9nBA,iGCwUE,eD0TF,CAloBA,qFC2UE,eD2TF,CAtoBA,+FC8UE,eD4TF,CA1oBA,qFCiVE,eD6TF,CA9oBA,6FCoVE,eD8TF,CAlpBA,+FCuVE,eD+TF,CAtpBA,iGC0VE,eDgUF,CA1pBA,uFC6VE,eDiUF,CA9pBA,6FCgWE,eDkUF,CAlqBA,uFCmWE,eDmUF,CAtqBA,2FCsWE,eDoUF,CA1qBA,yFCyWE,eDqUF,CA9qBA,yFC4WE,eDsUF,CAlrBA,yFC+WE,eDuUF,CAtrBA,yFCkXE,eDwUF,CA1rBA,yGCqXE,eDyUF,CA9rBA,iGCwXE,eD0UF,CAlsBA,6FC2XE,eD2UF,CAtsBA,2FC8XE,eD4UF,CA1sBA,uGCiYE,eD6UF,CA9sBA,6FCoYE,eD8UF,CAltBA,+FCuYE,eD+UF,CAttBA,iGC0YE,eDgVF,CA1tBA,yFC6YE,eDiVF,CA9tBA,yFCgZE,eDkVF,CAluBA,qGCmZE,eDmVF,CAtuBA,qGCsZE,eDoVF,CA1uBA,uGCyZE,eDqVF,CA9uBA,mGC4ZE,eDsVF,CAlvBA,6FC+ZE,eDuVF,CAtvBA,+FCkaE,eDwVF,CA1vBA,uFCqaE,eDyVF,CA9vBA,yFCwaE,eD0VF,CAlwBA,yFC2aE,eD2VF,CAtwBA,iGC8aE,eD4VF,CA1wBA,2FCibE,eD6VF,CA9wBA,6FCobE,eD8VF,CAlxBA,yFCubE,eD+VF,CAtxBA,yFC0bE,eDgWF,CA1xBA,6FC6bE,eDiWF,CA9xBA,uGCgcE,eDkWF,CAlyBA,qGCmcE,eDmWF,CAtyBA,qGCscE,eDoWF,CA1yBA,yGCycE,eDqWF,CA9yBA,uGC4cE,eDsWF,CAlzBA,2GC+cE,eDuWF,CAtzBA,yFCkdE,eDwWF,CA1zBA,uGCqdE,eDyWF,CA9zBA,yGCwdE,eD0WF,CAl0BA,6GC2dE,eD2WF,CAt0BA,+FC8dE,eD4WF,CA10BA,qGCieE,eD6WF,CA90BA,6FCoeE,eD8WF,CAl1BA,yFCueE,eD+WF,CAt1BA,yFC0eE,eDgXF,CA11BA,2FC6eE,eDiXF,CA91BA,2FCgfE,eDkXF,CAl2BA,yFCmfE,eDmXF,CAt2BA,2GCsfE,eDoXF,CA12BA,2GCyfE,eDqXF,CA92BA,iGC4fE,eDsXF,CAl3BA,yFC+fE,eDuXF,CAt3BA,2FCkgBE,eDwXF,CA13BA,yFCqgBE,eDyXF,CA93BA,+FCwgBE,eD0XF,CAl4BA,yGC2gBE,eD2XF,CAt4BA,yGC8gBE,eD4XF,CA14BA,2FCihBE,eD6XF,CA94BA,yGCohBE,eD8XF,CAl5BA,2GCuhBE,eD+XF,CAt5BA,mGC0hBE,eDgYF,CA15BA,qGC6hBE,eDiYF,CA95BA,uGCgiBE,eDkYF,CAl6BA,+FCmiBE,eDmYF,CAt6BA,2GCsiBE,eDoYF,CA16BA,mGCyiBE,eDqYF,CA96BA,qGC4iBE,eDsYF,CAl7BA,2GC+iBE,eDuYF,CAt7BA,mGCkjBE,eDwYF,CA17BA,qGCqjBE,eDyYF,CA97BA,qGCwjBE,eD0YF,CAl8BA,uGC2jBE,eD2YF,CAt8BA,iGC8jBE,eD4YF,CA18BA,qGCikBE,eD6YF,CA98BA,mGCokBE,eD8YF,CAl9BA,uGCukBE,eD+YF,CAt9BA,yGC0kBE,eDgZF,CA19BA,iHC6kBE,eDiZF,CA99BA,yFCglBE,eDkZF,CAl+BA,yFCmlBE,eDmZF,CAt+BA,yFCslBE,eDoZF,CA1+BA,iGCylBE,eDqZF,CA9+BA,mGC4lBE,eDsZF,CAl/BA,yGC+lBE,eDuZF,CAt/BA,2FCkmBE,eDwZF,CA1/BA,iGCqmBE,eDyZF,CA9/BA,6FCwmBE,eD0ZF,CAlgCA,+FC2mBE,eD2ZF,CAtgCA,6FC8mBE,eD4ZF,CA1gCA,qGCinBE,eD6ZF,CA9gCA,yGConBE,eD8ZF,CAlhCA,+FCunBE,eD+ZF,CAthCA,2GC0nBE,eDgaF,CA1hCA,yGC6nBE,eDiaF,CA9hCA,uGCgoBE,eDkaF,CAliCA,+GCmoBE,eDmaF,CAtiCA,mHCsoBE,eDoaF,CA1iCA,uFCyoBE,eDqaF,CA9iCA,iGC4oBE,eDsaF,CAljCA,yFC+oBE,eDuaF,CAtjCA,uGCkpBE,eDwaF,CA1jCA,mGCqpBE,eDyaF,CA9jCA,uGCwpBE,eD0aF,CAlkCA,qGC2pBE,eD2aF,CAtkCA,mGC8pBE,eD4aF,CA1kCA,+FCiqBE,eD6aF,CA9kCA,mGCoqBE,eD8aF,CAllCA,qHCuqBE,eD+aF,CAtlCA,mHC0qBE,eDgbF,CA1lCA,+GC6qBE,eDibF,CA9lCA,mHCgrBE,eDkbF,CAlmCA,2FCmrBE,eDmbF,CAtmCA,6FCsrBE,eDobF,CA1mCA,2FCyrBE,eDqbF,CA9mCA,6FC4rBE,eDsbF,CAlnCA,mGC+rBE,eDubF,CAtnCA,qGCksBE,eDwbF,CA1nCA,mGCqsBE,eDybF,CA9nCA,mGCwsBE,eD0bF,CAloCA,uGC2sBE,eD2bF,CAtoCA,yFC8sBE,eD4bF,CA1oCA,2FCitBE,eD6bF,CA9oCA,+FCotBE,eD8bF,CAlpCA,uFCutBE,eD+bF,CAtpCA,uFC0tBE,eDgcF,CA1pCA,yFC6tBE,eDicF,CA9pCA,iHCguBE,eDkcF,CAlqCA,yHCmuBE,eDmcF,CAtqCA,2GCsuBE,eDocF,CA1qCA,mHCyuBE,eDqcF,CA9qCA,qHC4uBE,eDscF,CAlrCA,6HC+uBE,eDucF,CAtrCA,mGCkvBE,eDwcF,CA1rCA,6FCqvBE,eDycF,CA9rCA,2GCwvBE,eD0cF,CAlsCA,uGC2vBE,eD2cF,CAtsCA,6FC8vBE,eD4cF,CA1sCA,2FCiwBE,eD6cF,CA9sCA,+FCowBE,eD8cF,CAltCA,qGCuwBE,eD+cF,CAttCA,6FC0wBE,eDgdF,CA1tCA,yFC6wBE,eDidF,CA9tCA,yFCgxBE,eDkdF,CAluCA,2FCmxBE,eDmdF,CAtuCA,6FCsxBE,eDodF,CA1uCA,6FCyxBE,eDqdF,CA9uCA,yFC4xBE,eDsdF,CAlvCA,uGC+xBE,eDudF,CAtvCA,yGCkyBE,eDwdF,CA1vCA,2GCqyBE,eDydF,CA9vCA,uGCwyBE,eD0dF,CAlwCA,uGC2yBE,eD2dF,CAtwCA,uGC8yBE,eD4dF,CA1wCA,iGCizBE,eD6dF,CA9wCA,+FCozBE,eD8dF,CAlxCA,6FCuzBE,eD+dF,CAtxCA,qGC0zBE,eDgeF,CA1xCA,iGC6zBE,eDieF,CA9xCA,mGCg0BE,eDkeF,CAlyCA,2FCm0BE,eDmeF,CAtyCA,2FCs0BE,eDoeF,CA1yCA,iGCy0BE,eDqeF,CA9yCA,iGC40BE,eDseF,CAlzCA,mGC+0BE,eDueF,CAtzCA,yGCk1BE,eDweF,CA1zCA,uGCq1BE,eDyeF,CA9zCA,mGCw1BE,eD0eF,CAl0CA,mGC21BE,eD2eF,CAt0CA,mGC81BE,eD4eF,CA10CA,6GCi2BE,eD6eF,CA90CA,mHCo2BE,eD8eF,CAl1CA,6GCu2BE,eD+eF,CAt1CA,yGC02BE,eDgfF,CA11CA,yGC62BE,eDifF,CA91CA,6GCg3BE,eDkfF,CAl2CA,qFCm3BE,eDmfF,CAt2CA,mGCs3BE,eDofF,CA12CA,mGCy3BE,eDqfF,CA92CA,iGC43BE,eDsfF,CAl3CA,yFC+3BE,eDufF,CAt3CA,2FCk4BE,eDwfF,CA13CA,2FCq4BE,eDyfF,CA93CA,mGCw4BE,eD0fF,CAl4CA,yFC24BE,eD2fF,CAt4CA,2FC84BE,eD4fF,CA14CA,yFCi5BE,eD6fF,CA94CA,6FCo5BE,eD8fF,CAl5CA,6FCu5BE,eD+fF,CAt5CA,yGC05BE,eDggBF,CA15CA,yFC65BE,eDigBF,CA95CA,qGCg6BE,eDkgBF,CAl6CA,uFCm6BE,eDmgBF,CAt6CA,2FCs6BE,eDogBF,CA16CA,2FCy6BE,eDqgBF,CA96CA,mGC46BE,eDsgBF,CAl7CA,yFC+6BE,eDugBF,CAt7CA,mGCk7BE,eDwgBF,CA17CA,qGCq7BE,eDygBF,CA97CA,iGCw7BE,eD0gBF,CAl8CA,6QCi8BE,eD6gBF,CA98CA,8KCu8BE,eD+gBF,CAt9CA,kLC68BE,eDihBF,CA99CA,2FCg9BE,eDkhBF,CAl+CA,mGCm9BE,eDmhBF,CAt+CA,iHCs9BE,eDohBF,CA1+CA,mGCy9BE,eDqhBF,CA9+CA,mHC49BE,eDshBF,CAl/CA,+GC+9BE,eDuhBF,CAt/CA,6GCk+BE,eDwhBF,CA1/CA,yGCq+BE,eDyhBF,CA9/CA,uFCw+BE,eD0hBF,CAlgDA,2FC2+BE,eD2hBF,CAtgDA,qGC8+BE,eD4hBF,CA1gDA,mGCi/BE,eD6hBF,CA9gDA,qGCo/BE,eD8hBF,CAlhDA,+GCu/BE,eD+hBF,CAthDA,iHC0/BE,eDgiBF,CA1hDA,uHC6/BE,eDiiBF,CA9hDA,+HCggCE,eDkiBF,CAliDA,mHCmgCE,eDmiBF,CAtiDA,2HCsgCE,eDoiBF,CA1iDA,qHCygCE,eDqiBF,CA9iDA,6GC4gCE,eDsiBF,CAljDA,2GC+gCE,eDuiBF,CAtjDA,+GCkhCE,eDwiBF,CA1jDA,yGCqhCE,eDyiBF,CA9jDA,+FCwhCE,eD0iBF,CAlkDA,uGC2hCE,eD2iBF,CAtkDA,mGC8hCE,eD4iBF,CA1kDA,mGCiiCE,eD6iBF,CA9kDA,qGCoiCE,eD8iBF,CAllDA,mGCuiCE,eD+iBF,CAtlDA,+FC0iCE,eDgjBF,CA1lDA,mKCmjCE,6BAA8B,CAC9B,0BAA2B,CAC3B,qBDmjBF,CAxmDA,qDCyjCE,yCAA6C,CAD7C,cDqjBF,CA7mDA,qDCgkCE,qBAAsB,CADtB,UAAc,CAHd,qDAA2D,CAC3D,cAAe,CACf,sBDujBF,CArnDA,sOCskCE,mBAAoB,CACpB,iBAAkB,CAClB,mBDyjBF,CAjoDA,+CC2kCE,aAAc,CACd,oBD0jBF,CAtoDA,sHCglCE,aAAc,CACd,yBD4jBF,CA7oDA,2DColCE,yCAA0C,CAC1C,mBD6jBF,CAlpDA,yDCwlCE,QD8jBF,CAtpDA,mDC2lCE,qBD+jBF,CA1pDA,maCkmCE,aAAc,CAEd,WAAY,CADZ,cDqkBF,CAxqDA,qECumCE,iBDqkBF,CA5qDA,yEC4mCE,qBAAsB,CACtB,qBAAsB,CACtB,iBAAkB,CAIlB,oBAAqB,CAErB,WAAY,CATZ,sBAAuB,CAQvB,cAAe,CATf,WAAY,CAKZ,sCAAwC,CACxC,iCAAmC,CACnC,8BDykBF,CA1rDA,mECunCE,iBDukBF,CA9rDA,iDC4nCE,QAAS,CACT,yBAA6B,CAF7B,kBAAmB,CADnB,eD2kBF,CArsDA,6DCsoCE,kBAAsB,CACtB,QAAS,CALT,UAAW,CAEX,WAAY,CACZ,eAAgB,CAFhB,SAAU,CAHV,iBAAkB,CAClB,SD+kBF,CAhtDA,4LCgpCE,SAAU,CAHV,WAAY,CACZ,QAAS,CACT,gBAAiB,CAJjB,eAAgB,CAChB,UD+kBF,CA3tDA,uECmpCE,cD4kBF,CA/tDA,wlBCoqCE,aAAc,CAHd,mBAAoB,CACpB,eAAgB,CAChB,eDylBF,CA5vDA,w+CCgsCE,UAAc,CAFd,eAAgB,CAChB,aDinBF,CAhzDA,4SCysCE,kBAAmB,CADnB,eDunBF,CA/zDA,ovBCutCE,aDkoBF,CAz1DA,4SCguCE,kBAAmB,CADnB,eDyoBF,CAx2DA,ovBC8uCE,aDopBF,CAl4DA,oGCkvCE,cDspBF,CAx4DA,oGCsvCE,cDwpBF,CA94DA,oGC0vCE,cD0pBF,CAp5DA,oGC8vCE,cD4pBF,CA15DA,oGCkwCE,cD8pBF,CAh6DA,oGCswCE,cDgqBF,CAt6DA,+CCywCE,eDiqBF,CA16DA,uDC6wCE,cAAe,CACf,eAAgB,CAChB,eAAgB,CAHhB,kBDqqBF,CChqBA,gFAEI,cDmqBF,CACF,CAv7DA,gHCwxCE,aDqqBF,CA77DA,4GC6xCE,wBAAyB,CADzB,YDwqBF,CAp8DA,iECgyCE,eDwqBF,CAx8DA,mECmyCE,gBDyqBF,CA58DA,qECsyCE,iBD0qBF,CAh9DA,uECyyCE,kBD2qBF,CAp9DA,qEC4yCE,kBD4qBF,CAx9DA,2EC+yCE,wBD6qBF,CA59DA,2ECkzCE,wBD8qBF,CAh+DA,6ECqzCE,yBD+qBF,CAp+DA,mECwzCE,UDgrBF,CAx+DA,uEC2zCE,aDirBF,CA5+DA,0KC+zCE,aDmrBF,CAl/DA,uECk0CE,aDorBF,CAt/DA,0KCs0CE,aDsrBF,CA5/DA,iECy0CE,aDurBF,CAhgEA,8JC60CE,aDyrBF,CAtgEA,uECg1CE,aD0rBF,CA1gEA,0KCo1CE,aD4rBF,CAhhEA,qECu1CE,aD6rBF,CAphEA,sKC21CE,aD+rBF,CA1hEA,mEC+1CE,wBAAyB,CADzB,UDisBF,CA/hEA,kKCm2CE,wBDksBF,CAriEA,mECs2CE,wBDmsBF,CAziEA,kKC02CE,wBDqsBF,CA/iEA,6DC62CE,wBDssBF,CAnjEA,sJCi3CE,wBDwsBF,CAzjEA,mECo3CE,wBDysBF,CA7jEA,kKCw3CE,wBD2sBF,CAnkEA,iEC23CE,wBD4sBF,CAvkEA,8JC+3CE,wBD8sBF,CA7kEA,qECo4CE,4BAAgC,CADhC,kBAAmB,CADnB,kBDitBF,CAnlEA,kGCy4CE,kBAAmB,CADnB,YDktBF,CA1lEA,4NC+4CE,eDqtBF,CApmEA,yECm5CE,eAAgB,CADhB,cDutBF,CAzmEA,qECu5CE,eAAgB,CAChB,gBAAiB,CAFjB,cDytBF,CA/mEA,2EC25CE,oBAAqB,CAErB,gBAAiB,CADjB,iBDytBF,CArnEA,iDCi6CE,kBAAmB,CADnB,YD0tBF,CA1nEA,kGCq6CE,sBD2tBF,CAhoEA,iDCw6CE,eD4tBF,CApoEA,iDC26CE,aD6tBF,CC3tBA,wGAII,UAAW,CAFX,UAAW,CAIX,eAAgB,CADhB,gBAAiB,CAEjB,sBAAuB,CACvB,kBAAmB,CALnB,WDmuBF,CCtuBF,+EAWI,iBD+tBF,CACF,CAxpEA,kKC67CE,WDiuBF,CA9pEA,mECg8CE,aAAc,CACd,wBDkuBF,CAnqEA,iECu8CE,0BAA8B,CAD9B,gBAAiB,CADjB,eAAgB,CADhB,iBDsuBF,CA1qEA,qRC48CE,eDsuBF,CAlrEA,2OCo9CE,UAAc,CAHd,aAAc,CACd,aAAc,CACd,sBD0uBF,CA7rEA,qRCy9CE,qBD4uBF,CArsEA,0KCi+CE,aAAc,CADd,2BAA+B,CAF/B,cAAe,CADf,kBAAmB,CAEnB,gBDgvBF,CA/sEA,kqBCy+CE,UDovBF,CA7tEA,spBCi/CE,qBD0vBF,CA3uEA,2DCq/CE,iBAAkB,CAClB,sBAAuB,CAFvB,kBD6vBF,CAjvEA,gNC4/CE,uDD+vBF,CA3vEA,qDCkgDE,wBAAyB,CACzB,iBAAkB,CAFlB,aAAc,CADd,aAAc,CADd,eDowBF,CAnwEA,mDCygDE,qBAAsB,CACtB,iBAAkB,CAClB,iDAAsD,CACtD,yCAA8C,CAJ9C,UAAW,CADX,aAAc,CADd,eDuwBF,CA7wEA,2DCkhDE,uBAAwB,CACxB,eAAgB,CAHhB,cAAe,CACf,eAAgB,CAFhB,SDswBF,CArxEA,mDC6hDE,oBAAqB,CACrB,wBAAyB,CACzB,qBAAsB,CACtB,iBAAkB,CALlB,UAAc,CALd,aAAc,CAGd,cAAe,CACf,sBAAuB,CAFvB,eAAgB,CADhB,aAAc,CAKd,oBDuwBF,CAnyEA,6DCuiDE,4BAA6B,CAC7B,eAAgB,CAHhB,aAAc,CADd,iBAAkB,CADlB,SAAU,CAGV,oBDswBF,CA5yEA,2EC2iDE,gBAAiB,CACjB,iBDqwBF,CAjzEA,iECkjDE,gBAAiB,CADjB,iBAAkB,CADlB,iBAAkB,CADlB,kBDywBF,CCpwBA,0FAEI,WDuwBF,CACF,CCrwBA,0FAEI,WDwwBF,CACF,CCtwBA,2FAEI,YDywBF,CACF,CA10EA,6ECukDE,gBAAiB,CADjB,iBAAkB,CADlB,iBAAkB,CADlB,kBD6wBF,CAj1EA,qDC2kDE,iBAAkB,CADlB,kBD4wBF,CAt1EA,2EC+kDE,aAAc,CADd,cD6wBF,CA31EA,uGCmlDE,cAAe,CADf,eD8wBF,CAh2EA,w+FCsoDE,cAAe,CAEf,iBAAkB,CADlB,kBAAmB,CAFnB,iBDg0BF,CAr8EA,0vBCspDE,UDy0BF,CA/9EA,iECypDE,UD00BF,CAn+EA,iEC4pDE,kBD20BF,CAv+EA,iEC+pDE,kBD40BF,CA3+EA,+DCkqDE,SD60BF,CA/+EA,+DCqqDE,kBD80BF,CAn/EA,+DCwqDE,kBD+0BF,CAv/EA,+DC2qDE,SDg1BF,CA3/EA,+DC8qDE,kBDi1BF,CA//EA,+DCirDE,kBDk1BF,CAngFA,+DCorDE,SDm1BF,CAvgFA,+DCurDE,kBDo1BF,CA3gFA,+DC0rDE,iBDq1BF,CA/gFA,2EC6rDE,UDs1BF,CAnhFA,2ECgsDE,kBDu1BF,CAvhFA,2ECmsDE,kBDw1BF,CA3hFA,yECssDE,SDy1BF,CA/hFA,yECysDE,kBD01BF,CAniFA,yEC4sDE,kBD21BF,CAviFA,yEC+sDE,SD41BF,CA3iFA,yECktDE,kBD61BF,CA/iFA,yECqtDE,kBD81BF,CAnjFA,yECwtDE,SD+1BF,CAvjFA,yEC2tDE,kBDg2BF,CA3jFA,yEC8tDE,iBDi2BF,CA/jFA,yECiuDE,UDk2BF,CAnkFA,2ECouDE,SDm2BF,CAvkFA,2ECuuDE,iBDo2BF,CA3kFA,2EC0uDE,iBDq2BF,CA/kFA,yEC6uDE,QDs2BF,CAnlFA,yECgvDE,iBDu2BF,CAvlFA,yECmvDE,iBDw2BF,CA3lFA,yECsvDE,QDy2BF,CA/lFA,yECyvDE,iBD02BF,CAnmFA,yEC4vDE,iBD22BF,CAvmFA,yEC+vDE,QD42BF,CA3mFA,yECkwDE,iBD62BF,CA/mFA,yECqwDE,gBD82BF,CAnnFA,yECwwDE,SD+2BF,CAvnFA,+EC2wDE,gBDg3BF,CA3nFA,+EC8wDE,wBDi3BF,CA/nFA,+ECixDE,wBDk3BF,CAnoFA,6ECoxDE,eDm3BF,CAvoFA,6ECuxDE,wBDo3BF,CA3oFA,6EC0xDE,wBDq3BF,CA/oFA,6EC6xDE,eDs3BF,CAnpFA,6ECgyDE,wBDu3BF,CAvpFA,6ECmyDE,wBDw3BF,CA3pFA,6ECsyDE,eDy3BF,CA/pFA,6ECyyDE,wBD03BF,CAnqFA,6EC4yDE,uBD23BF,CAvqFA,6EC+yDE,aD43BF,CC13BA,mxBAaI,UDw4BF,CCr5BF,iEAgBI,UDy4BF,CCz5BF,iEAmBI,kBD04BF,CC75BF,iEAsBI,kBD24BF,CCj6BF,+DAyBI,SD44BF,CCr6BF,+DA4BI,kBD64BF,CCz6BF,+DA+BI,kBD84BF,CC76BF,+DAkCI,SD+4BF,CCj7BF,+DAqCI,kBDg5BF,CCr7BF,+DAwCI,kBDi5BF,CCz7BF,+DA2CI,SDk5BF,CC77BF,+DA8CI,kBDm5BF,CCj8BF,+DAiDI,iBDo5BF,CCr8BF,2EAoDI,UDq5BF,CCz8BF,2EAuDI,kBDs5BF,CC78BF,2EA0DI,kBDu5BF,CCj9BF,yEA6DI,SDw5BF,CCr9BF,yEAgEI,kBDy5BF,CCz9BF,yEAmEI,kBD05BF,CC79BF,yEAsEI,SD25BF,CCj+BF,yEAyEI,kBD45BF,CCr+BF,yEA4EI,kBD65BF,CCz+BF,yEA+EI,SD85BF,CC7+BF,yEAkFI,kBD+5BF,CCj/BF,yEAqFI,iBDg6BF,CCr/BF,yEAwFI,UDi6BF,CCz/BF,2EA2FI,SDk6BF,CC7/BF,2EA8FI,iBDm6BF,CCjgCF,2EAiGI,iBDo6BF,CCrgCF,yEAoGI,QDq6BF,CCzgCF,yEAuGI,iBDs6BF,CC7gCF,yEA0GI,iBDu6BF,CCjhCF,yEA6GI,QDw6BF,CCrhCF,yEAgHI,iBDy6BF,CCzhCF,yEAmHI,iBD06BF,CC7hCF,yEAsHI,QD26BF,CCjiCF,yEAyHI,iBD46BF,CCriCF,yEA4HI,gBD66BF,CCziCF,yEA+HI,SD86BF,CC7iCF,+EAkII,gBD+6BF,CCjjCF,+EAqII,wBDg7BF,CCrjCF,+EAwII,wBDi7BF,CCzjCF,6EA2II,eDk7BF,CC7jCF,6EA8II,wBDm7BF,CCjkCF,6EAiJI,wBDo7BF,CCrkCF,6EAoJI,eDq7BF,CCzkCF,6EAuJI,wBDs7BF,CC7kCF,6EA0JI,wBDu7BF,CCjlCF,6EA6JI,eDw7BF,CCrlCF,6EAgKI,wBDy7BF,CCzlCF,6EAmKI,uBD07BF,CC7lCF,6EAsKI,aD27BF,CACF,CCz7BA,mxBAaI,UDu8BF,CCp9BF,iEAgBI,UDw8BF,CCx9BF,iEAmBI,kBDy8BF,CC59BF,iEAsBI,kBD08BF,CCh+BF,+DAyBI,SD28BF,CCp+BF,+DA4BI,kBD48BF,CCx+BF,+DA+BI,kBD68BF,CC5+BF,+DAkCI,SD88BF,CCh/BF,+DAqCI,kBD+8BF,CCp/BF,+DAwCI,kBDg9BF,CCx/BF,+DA2CI,SDi9BF,CC5/BF,+DA8CI,kBDk9BF,CChgCF,+DAiDI,iBDm9BF,CCpgCF,2EAoDI,UDo9BF,CCxgCF,2EAuDI,kBDq9BF,CC5gCF,2EA0DI,kBDs9BF,CChhCF,yEA6DI,SDu9BF,CCphCF,yEAgEI,kBDw9BF,CCxhCF,yEAmEI,kBDy9BF,CC5hCF,yEAsEI,SD09BF,CChiCF,yEAyEI,kBD29BF,CCpiCF,yEA4EI,kBD49BF,CCxiCF,yEA+EI,SD69BF,CC5iCF,yEAkFI,kBD89BF,CChjCF,yEAqFI,iBD+9BF,CCpjCF,yEAwFI,UDg+BF,CCxjCF,2EA2FI,SDi+BF,CC5jCF,2EA8FI,iBDk+BF,CChkCF,2EAiGI,iBDm+BF,CCpkCF,yEAoGI,QDo+BF,CCxkCF,yEAuGI,iBDq+BF,CC5kCF,yEA0GI,iBDs+BF,CChlCF,yEA6GI,QDu+BF,CCplCF,yEAgHI,iBDw+BF,CCxlCF,yEAmHI,iBDy+BF,CC5lCF,yEAsHI,QD0+BF,CChmCF,yEAyHI,iBD2+BF,CCpmCF,yEA4HI,gBD4+BF,CCxmCF,yEA+HI,SD6+BF,CC5mCF,+EAkII,gBD8+BF,CChnCF,+EAqII,wBD++BF,CCpnCF,+EAwII,wBDg/BF,CCxnCF,6EA2II,eDi/BF,CC5nCF,6EA8II,wBDk/BF,CChoCF,6EAiJI,wBDm/BF,CCpoCF,6EAoJI,eDo/BF,CCxoCF,6EAuJI,wBDq/BF,CC5oCF,6EA0JI,wBDs/BF,CChpCF,6EA6JI,eDu/BF,CCppCF,6EAgKI,wBDw/BF,CCxpCF,6EAmKI,uBDy/BF,CC5pCF,6EAsKI,aD0/BF,CACF,CCx/BA,oxBAaI,UDsgCF,CCnhCF,iEAgBI,UDugCF,CCvhCF,iEAmBI,kBDwgCF,CC3hCF,iEAsBI,kBDygCF,CC/hCF,+DAyBI,SD0gCF,CCniCF,+DA4BI,kBD2gCF,CCviCF,+DA+BI,kBD4gCF,CC3iCF,+DAkCI,SD6gCF,CC/iCF,+DAqCI,kBD8gCF,CCnjCF,+DAwCI,kBD+gCF,CCvjCF,+DA2CI,SDghCF,CC3jCF,+DA8CI,kBDihCF,CC/jCF,+DAiDI,iBDkhCF,CCnkCF,2EAoDI,UDmhCF,CCvkCF,2EAuDI,kBDohCF,CC3kCF,2EA0DI,kBDqhCF,CC/kCF,yEA6DI,SDshCF,CCnlCF,yEAgEI,kBDuhCF,CCvlCF,yEAmEI,kBDwhCF,CC3lCF,yEAsEI,SDyhCF,CC/lCF,yEAyEI,kBD0hCF,CCnmCF,yEA4EI,kBD2hCF,CCvmCF,yEA+EI,SD4hCF,CC3mCF,yEAkFI,kBD6hCF,CC/mCF,yEAqFI,iBD8hCF,CCnnCF,yEAwFI,UD+hCF,CCvnCF,2EA2FI,SDgiCF,CC3nCF,2EA8FI,iBDiiCF,CC/nCF,2EAiGI,iBDkiCF,CCnoCF,yEAoGI,QDmiCF,CCvoCF,yEAuGI,iBDoiCF,CC3oCF,yEA0GI,iBDqiCF,CC/oCF,yEA6GI,QDsiCF,CCnpCF,yEAgHI,iBDuiCF,CCvpCF,yEAmHI,iBDwiCF,CC3pCF,yEAsHI,QDyiCF,CC/pCF,yEAyHI,iBD0iCF,CCnqCF,yEA4HI,gBD2iCF,CCvqCF,yEA+HI,SD4iCF,CC3qCF,+EAkII,gBD6iCF,CC/qCF,+EAqII,wBD8iCF,CCnrCF,+EAwII,wBD+iCF,CCvrCF,6EA2II,eDgjCF,CC3rCF,6EA8II,wBDijCF,CC/rCF,6EAiJI,wBDkjCF,CCnsCF,6EAoJI,eDmjCF,CCvsCF,6EAuJI,wBDojCF,CC3sCF,6EA0JI,wBDqjCF,CC/sCF,6EA6JI,eDsjCF,CCntCF,6EAgKI,wBDujCF,CCvtCF,6EAmKI,uBDwjCF,CC3tCF,6EAsKI,aDyjCF,CACF,CAn2GA,uDC6yEE,4BD0jCF,CAv2GA,yFCizEE,oBAAqB,CACrB,UAAW,CAFX,eD6jCF,CA72GA,8KCuzEE,kBAAmB,CACnB,UAAW,CAFX,eD+jCF,CAr3GA,2DC6zEE,UAAc,CADd,kBAAmB,CADnB,eAAgB,CAGhB,eD8jCF,CA53GA,iDCi0EE,e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kBD4/EF,CC5gFF,+EAoBI,QAAS,CACT,mBAAoB,CAFpB,SD+/EF,CClhFF,qFAwBI,WD8/EF,CACF,CAr4RA,woFC06ME,WAAY,CADZ,aD+hFF,CAx8RA,ozCC47ME,UD8iFF,CA1+RA,uEC+7ME,aAAc,CAEd,gBAAiB,CADjB,iBDgjFF,CAh/RA,mECo8ME,qBDgjFF,CAp/RA,iECu8ME,oBDijFF,CAx/RA,uDC08ME,sBDkjFF,CA5/RA,uDC68ME,uBDmjFF,CAhgSA,iECg9ME,iBDojFF,CApgSA,iECs9ME,4BAA6B,CAC7B,QAAS,CAHT,iBAAkB,CADlB,UAAW,CAEX,gBDujFF,CA5gSA,2DC09ME,sBDsjFF,CAhhSA,yDC69ME,cDujFF,CCrjFA,cACE,kBDujFF,CAvhSA,gwCCo/ME,sBDukFF,CCrkFA,4FAEI,uBDwkFF,CC1kFF,6EAKI,uBDykFF,CC9kFF,uEAQI,2BD0kFF,CCllFF,8IAYI,4BD4kFF,CCzkFF,+EAEI,uBD6kFF,CC1kFF,iFAEI,wBD8kFF,CC3kFF,6FAEI,8BD+kFF,CAjBF,CC3jFA,kHAEI,uBDglFF,CCllFF,6EAKI,uBDilFF,CCtlFF,uEAQI,2BDklFF,CC1lFF,8IAYI,4BDolFF,CCjlFF,+EAEI,uBDqlFF,CCllFF,iFAEI,wBDslFF,CCnlFF,6FAEI,8BDulFF,CAjBF,CCnkFA,mHAEI,uBDwlFF,CC1lFF,6EAKI,uBDylFF,CC9lFF,uEAQI,2BD0lFF,CClmFF,8IAYI,4BD4lFF,CCzlFF,+EAEI,uBD6lFF,CC1lFF,iFAEI,wBD8lFF,CC3lFF,6FAEI,8BD+lFF,CAjBF,CC3kFA,6FAEI,uBDgmFF,CClmFF,6EAKI,uBDimFF,CCtmFF,uEAQI,2BDkmFF,CC1mFF,8IAYI,4BDomFF,CCjmFF,+EAEI,uBDqmFF,CClmFF,iFAEI,wBDsmFF,CCnmFF,6FAEI,8BDumFF,CAjBF,CCnlFA,0FAEI,sBDwmFF,CACF,CCtmFA,gHAEI,sBDymFF,CACF,CCvmFA,iHAEI,sBD0mFF,CACF,CCxmFA,2FAEI,sBD2mFF,CACF,CA3uSA,yECmoNE,sBD4mFF,CC1mFA,s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","sources":["webpack://WebComponents/./ptxrs-bootstrap.less","webpack://WebComponents/./node_modules/bootstrap/dist/css/bootstrap.css","webpack://WebComponents/./runestone/common/css/runestone-custom-sphinx-bootstrap.css","webpack://WebComponents/./runestone/accessibility/css/accessibility.css","webpack://WebComponents/./runestone/common/css/user-highlights.css","webpack://WebComponents/./runestone/matrixeq/css/matrixeq.css","webpack://WebComponents/./runestone/webgldemo/css/webglinteractive.css","webpack://WebComponents/./runestone/common/css/presenter_mode.less","webpack://WebComponents/./runestone/common/css/presenter_mode.css"],"sourcesContent":[".ptx-runestone-container,\n.runestone-sphinx {\n @import (less) url(\"./node_modules/bootstrap/dist/css/bootstrap.css\");\n @import (less) url(\"./runestone/common/css/runestone-custom-sphinx-bootstrap.css\");\n @import (less) url(\"./runestone/accessibility/css/accessibility.css\");\n}\n\n:root {\n --background: #ffffff;\n --outerBackground: #eeeeee;\n --links: #0645ad;\n --bodyFont: var(--body-text-color, #000000);\n --tooltip: #ffffff;\n --grayToWhite: #333333;\n --navbar: #f8f8f8;\n --navbarFont: #707070;\n --navbarFontHover: #000000;\n --alerts: #d9edf7;\n --completionButton: #f19711;\n --completionButtonHover: #ff9f19;\n --completionButtonText: #000000;\n --admonition: #fcf8e3;\n --admonitionBorder: #fbeed5;\n --codeButtons: #474949;\n --codeButtonsBorder: #474949;\n --dangerAlerts: #f2dede;\n --successAlerts: #dff0d8;\n --contentWidthRegular: 660px;\n --contentWidthWide: 1060px;\n --componentBgColor: #f0f8ff;\n --componentBorderColor: #000000;\n --questionBgColor: #e1efff;\n --parsonsBgColor: #ffa;\n --parsonsBorderColor: #ee0;\n --parsonsCorrectBgColor: #dff0d8;\n --parsonsCorrectBorderColor: #ade595;\n --parsonsIncorrectBgColor: #f2dede;\n --parsonsIncorrectBorderColor: #f2b6b6;\n}\n\n:root.dark-mode {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: var(--body-text-color, #99aab5);\n --tooltip: #000000;\n --grayToWhite: #aaa;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --completionButtonText: #ffffff;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #67739d;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: var(--rs-component-bg, var(--knowl-background, #07467d));\n --componentBorderColor: var(--rs-component-border, var(--knowl-border-color, #939090));\n --questionBgColor: var(--rs-component-bg, var(--knowl-nested-1-background, #0f5a9b));\n --parsonsBgColor: rgb(232, 232, 178);\n --parsonsBorderColor: rgb(168, 168, 45);\n --parsonsCorrectBgColor: #a3c097;\n --parsonsCorrectBorderColor: #60904c;\n --parsonsIncorrectBgColor: #ae9090;\n --parsonsIncorrectBorderColor: #c16b6b;\n}\n\n[data-theme=\"dark\"] {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: #99aab5;\n --tooltip: #000000;\n --grayToWhite: #ffffff;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --completionButtonText: #ffffff;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #7289da;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: #07467d;\n --componentBorderColor: #939090;\n --questionBgColor: rgb(23, 85, 93);\n}\n\n#scprogresscontainer {\n width: 100%;\n max-width: 500px;\n margin: 10px auto;\n}\n\n#subchapterprogress {\n width: 100%;\n background-color: var(--alerts);\n border: 1px solid var(--grayToWhite);\n border-radius: 5px;\n height: 20px;\n position: relative;\n}\n\n\n.exercise-statement {\n display: block;\n margin-bottom: 1em;\n}\n","/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n -moz-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"../fonts/glyphicons-halflings-regular.eot\");\n src: url(\"../fonts/glyphicons-halflings-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/glyphicons-halflings-regular.woff2\") format(\"woff2\"), url(\"../fonts/glyphicons-halflings-regular.woff\") format(\"woff\"), url(\"../fonts/glyphicons-halflings-regular.ttf\") format(\"truetype\"), url(\"../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\") format(\"svg\");\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: 400;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: \"\\2014 \\00A0\";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: \"\";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: \"\\00A0 \\2014\";\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n.row-no-gutters [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1,\n .col-sm-2,\n .col-sm-3,\n .col-sm-4,\n .col-sm-5,\n .col-sm-6,\n .col-sm-7,\n .col-sm-8,\n .col-sm-9,\n .col-sm-10,\n .col-sm-11,\n .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1,\n .col-md-2,\n .col-md-3,\n .col-md-4,\n .col-md-5,\n .col-md-6,\n .col-md-7,\n .col-md-8,\n .col-md-9,\n .col-md-10,\n .col-md-11,\n .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1,\n .col-lg-2,\n .col-lg-3,\n .col-lg-4,\n .col-lg-5,\n .col-lg-6,\n .col-lg-7,\n .col-lg-8,\n .col-lg-9,\n .col-lg-10,\n .col-lg-11,\n .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: 0.01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: 700;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n opacity: 0.65;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n background-image: none;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: 400;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n -o-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n -o-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n -o-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: 400;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n border-top: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: 15px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@-o-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n -webkit-background-size: 40px 40px;\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #eeeeee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 12px;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: -webkit-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: \"\\2039\";\n}\n.carousel-control .icon-next:before {\n content: \"\\203a\";\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/* Variables holding theme colors */\n:root {\n --background: #ffffff;\n --outerBackground: #eeeeee;\n --links: #0645ad;\n --bodyFont: #000000;\n --tooltip: #ffffff;\n --grayToWhite: #333333;\n --navbar: #f8f8f8;\n --navbarFont: #707070;\n --navbarFontHover: #000000;\n --alerts: #d9edf7;\n --completionButton: #f19711;\n --completionButtonHover: #ff9f19;\n --admonition: #fcf8e3;\n --admonitionBorder: #fbeed5;\n --codeButtons: #474949;\n --codeButtonsBorder: #474949;\n --dangerAlerts: #f2dede;\n --successAlerts: #dff0d8;\n --contentWidthRegular: 660px;\n --contentWidthWide: 1060px;\n --componentBgColor: #f0f8ff;\n --componentBorderColor: #000000;\n --questionBgColor: #e1efff;\n}\n\n/* @media (prefers-color-scheme: dark) {\n :root {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: #99aab5;\n --tooltip: #000000;\n --grayToWhite: #ffffff;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #7289da;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: #07467d;\n --componentBorderColor: #939090;\n --questionBgColor: rgb(23, 85, 93);\n }\n}\n\nNeeded??? */\n[data-theme=\"dark\"] {\n --background: #2c2f33;\n --outerBackground: #23272a;\n --links: #7289da;\n --bodyFont: #99aab5;\n --tooltip: #000000;\n --grayToWhite: #ffffff;\n --navbar: #3d3d3d;\n --navbarFont: #ffffff;\n --navbarFontHover: #d6d6d6;\n --alerts: #714082;\n --completionButton: #650087;\n --completionButtonHover: #560073;\n --admonition: #3d3d3d;\n --admonitionBorder: #262626;\n --codeButtons: #7289da;\n --codeButtonsBorder: #ffffff;\n --dangerAlerts: #8c2626;\n --successAlerts: #217300;\n --componentBgColor: #07467d;\n --componentBorderColor: #939090;\n --questionBgColor: rgb(23, 85, 93);\n}\n\n/* custom modification of basic.css for color-contrast (AA compliant) */\ntd.linenos pre {\n color: #6b6b6b;\n}\n\n/* custom modification of prettify.css for color-contrast (AA compliant) */\n.str {\n color: #006b00;\n}\n\n/* custom modification of parsons.css for color-contrast (AA compliant) */\n.parsons .block {\n background-color: #fafafa;\n}\n\n/* custom modification of pygments.css for color-contrast (AA compliant) */\n.highlight .c1 {\n color: #376a7b;\n}\n\n.highlight .nn {\n color: #0f6c95;\n}\n\n.highlight .gp {\n color: #a14c08;\n}\n\n.highlight .si {\n color: #3c773d;\n}\n\n.highlight .nc {\n color: #0b719d;\n}\n\n/* `Search` functionality's result custom modification for color-contrast (AA compliant) */\nul.search li div.context {\n color: #6b6b6b;\n}\n\nspan.highlighted {\n color: #4d4d4d;\n}\n\n/* ActiveCode gutter custom modification for color-contrast (AA compliant) */\n\n.CodeMirror-linenumber {\n color: #6b6b6b;\n}\n\n.alert-warning {\n background-color: var(--admonition);\n border-color: var(--admonitionBorder);\n}\n\n/* Python code output custom modification for color-contrast (AA compliant) */\ndiv.ExecutionVisualizer table#pyCodeOutput .lineNo {\n color: #6b6b6b;\n}\n\n/* Runestone custom modifications */\n\nbody {\n counter-reset: rscomponent;\n padding-top: 60px;\n background-color: var(--outerBackground);\n}\n\nh5 {\n font-weight: bold;\n padding: 10px 0;\n}\n\n/* table-of-contents related styles for color-contrast (AA compliant) */\n#table-of-contents a {\n color: var(--links);\n}\n\n#table-of-contents a:hover {\n color: var(--links);\n text-decoration: underline;\n}\n\n#table-of-contents.section {\n font-size: 16px;\n}\n\n/* navbar-brand color contrast (AA compliant) */\n.navbar-default {\n background-color: var(--navbar);\n}\n\n.navbar-default .navbar-nav > li {\n color: var(--navbarFont);\n}\n\n.navbar-default .navbar-nav > li > a {\n color: var(--navbarFont);\n}\n\n.navbar-default .navbar-nav > li > a:hover {\n color: var(--navbarFontHover);\n}\n\n.navbar-default .navbar-brand {\n color: var(--navbarFont);\n}\n\n/* acknowledgement related styles for color-contrast (AA compliant) */\n.toctree-wrapper {\n font-size: 16px;\n}\n\n.toctree-wrapper a {\n color: var(--links);\n}\n\n.toctree-wrapper a:hover {\n color: var(--links);\n text-decoration: underline;\n}\n\n/* index and search related styles for color-contrast (AA compliant) */\n#index-and-search.section {\n font-size: 16px;\n}\n\n#index-and-search.section a {\n color: var(--links);\n}\n\n#index-and-search.section a:hover {\n color: var(--links);\n text-decoration: underline;\n}\n\n/* custom style for `a` tag for color-contrast (AA compliant) */\n\na {\n color: var(--links);\n}\n\n/* navbar and menu related styles */\n@media (max-width: 768px) {\n /* Remove top padding when top navbar goes collapsed in narrow viewports */\n body {\n padding-top: 0;\n }\n\n .navbar-fixed-top {\n position: static;\n }\n}\n\n@media (min-width: 768px) {\n /* when navbar is collapsed we don't want any vertical dividers taking up space */\n .navbar .divider-vertical {\n margin: 0 3px;\n border-left: 1px solid #f2f2f2;\n }\n\n .navbar-fixed-top .container {\n padding: 0;\n }\n}\n\ndiv.container {\n background-color: var(--background);\n}\n\n.container {\n padding-left: 10px;\n padding-right: 10px;\n}\n\n.runestone {\n clear: both;\n background-color: var(--componentBgColor);\n padding: 15px;\n border-style: solid;\n border-color: var(--componentBorderColor);\n border-radius: 10px;\n margin-bottom: 20px;\n margin-top: 20px;\n }\n\n/* Sets width of content \"column\" */\n#main-content section > *:not(section) {\n max-width: var(--contentWidthRegular);\n margin-left: auto;\n margin-right: auto;\n\n}\n\n/* Handle content in nested sections by allowing them to grow*/\n#main-content section > section,\n/* And then make sure a few items are wider by default */\n#main-content section > .runestone.ac_section,\n#main-content section > .runestone.codelens,\n#main-content section > .question,\n#main-content section > .runestone.parsons-container,\n#main-content section > .runestone.parsons-problems,\n#main-content section > .codelens,\n#main-content section > .timedAssessment,\n#main-content section > .jupyterlite_sphinx_iframe_container\n{\n max-width: var(--contentWidthWide);\n margin-left: auto;\n margin-right: auto;\n}\n\n/* Allow individual elements to request being larger */\n#main-content section > .full-width {\n max-width: var(--contentWidthWide);\n}\n\n.container section > img {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n\n.container-fluid > .navbar-collapse,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container > .navbar-header {\n margin-left: 0;\n margin-right: 0;\n}\n\n.navbar > .container .navbar-brand {\n margin-left: 0;\n}\n\n.navbar > .container {\n background-color: var(--navbar);\n}\n\n.navbar-toggle {\n margin-right: 0px;\n}\n\n.footer > .container {\n background-color: var(--outerBackground);\n}\n\n.footer > .container p > a {\n color: var(--links);\n}\n\n.brand-logo {\n float: left;\n display: block;\n margin-top: 4px;\n}\n\n.brand-logo img {\n height: 40px;\n}\n\n.social-menu {\n width: 220px;\n padding: 10px 10px 15px 20px;\n}\n\n.fb-like {\n margin-top: 7px;\n}\n\n.fb_iframe_widget span,\n.fb_iframe_widget iframe {\n height: 20px !important;\n width: 82px !important;\n}\n\n.twitter-follow-button {\n margin-top: 10px;\n}\n\n.gittip {\n margin-top: 8px;\n}\n\n.gittip-button {\n margin-bottom: -6px;\n}\n\n.dropdown-menu > li > span,\n.dropdown-menu > li > div,\n.dropdown-menu > li > label {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: bold;\n line-height: 20px;\n color: var(--grayToWhite);\n white-space: nowrap;\n}\n\n.dropdown-menu > li > label:hover, .dropdown-menu > li > label:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n\n.dropdown-menu > li > a {\n color: var(--grayToWhite);\n}\n\n.loggedinuser {\n font-weight: bold;\n}\n\n/* end navbar and menu related styles */\n.CodeMirror {\n margin: 0 0 1em 0;\n background-color: var(--background);\n clear: both;\n}\n\n.ac_section .CodeMirror pre {\n -moz-border-radius: 0;\n -webkit-border-radius: 0;\n -o-border-radius: 0;\n border-radius: 0;\n border-width: 0;\n margin: 0;\n padding: 0;\n background: transparent;\n font-family: Menlo, Monaco, Consolas,\"Courier New\", monospace;\n font-size: inherit;\n padding: 0;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n}\n\nbutton.btn,\nbtn.btn-sm,\ninput[type=\"submit\"].btn.btn-sm,\ninput[type=\"button\"].btn.btn-sm {\n font-size: 1em;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n\n/* Fix search menu button */\n.dropdown-menu .input-group .input-group-btn button.btn {\n font-size: 14px;\n}\n\n.btn {\n margin: 5px;\n}\n\n.btn.disabled {\n /* needed in Bootstrap 3 to allow tooltips on disabled buttons */\n pointer-events: auto;\n}\n\n.btn-default,\n.btn-default.disabled,\n.btn-default[disabled],\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover {\n color: #ffffff;\n background-color: var(--codeButtons);\n border-color: var(codeButtonsBorder);\n}\n\n.btn-default:hover,\n.btn-default:focus,\n.btn-default:active,\n.btn-default.active {\n background-color: #3a3c3c;\n border-color: #2e2f2f;\n color: #ffffff;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin-right: 5px;\n}\n\n.tooltip {\n z-index: 2000 !important;\n}\n\n.tooltip.in {\n opacity: 0.8;\n filter: alpha(opacity=80);\n}\n\nh2 {\n margin-top: 20px;\n}\n\n.alert form {\n margin-bottom: 0;\n}\n\n/* default bookstrap alert color is hard to read (low contrast). */\n.alert {\n color: var(--grayToWhite);\n padding: 10px;\n}\n\n.alert-info {\n background-color: var(--alerts);\n}\n\n.alert-danger {\n background-color: var(--dangerAlerts);\n}\n\n.alert-success {\n background-color: var(--successAlerts);\n}\n\n/* override the color styles applied by Skulpt to the unittest results divs */\n.unittest-results.alert-danger {\n background-color: var(--dangerAlerts) !important;\n}\n\n.unittest-results.alert-success {\n background-color: var(--successAlerts) !important;\n}\n\n.alert label {\n font-weight: normal;\n}\n\n.navbar_message {\n margin-top: 15px;\n font-weight: bold;\n}\n/*\nMissing brackets\n================\nThe default styling from Sphinx's ``basic.css`` doesn't style multiple references to the same reference with brackets. Here's the relevant snippet of CSS:\n\n.. code-block:: CSS\n :number-lines:\n\n a.brackets:before,\n span.brackets > a:before{\n content: \"[\";\n }\n\n a.brackets:after,\n span.brackets > a:after {\n content: \"]\";\n }\n\nThe HTML for a footnote reference is:\n\n.. code-block:: HTML\n :number-lines:\n\n 2\n\nThe HTML for a typical footnote is:\n\n.. code-block:: HTML\n :number-lines:\n\n
    \n
    \n \n 1\n \n
    \n
    Omitted this...
    \n
    \n\nThe HTML for a footnote referenced multiple times is:\n\n.. code-block:: HTML\n :number-lines:\n\n
    \n
    \n 1\n \n (1,2,3)\n \n
    \n
    Omitted this...
    \n
    \n\nHowever, there's no (current) CSS selector that will add a ``content`` to the multiply-referenced footnote without adding an additional ``content`` to the typical footnote: we want to select ``dt.label > span.brackets > text-only content`` or ``dt.label > span.brackets > :not(:has a)`` (see the unsupported `:has selector `_. So, I see no solution for this (outside JS).\n\n\nIncorrect color\n===============\nSecond, the Bootstrap theme (v3.4.1) contains the following CSS, from ``node_modules/bootstrap/dist/css/less/labels.less``:\n\n.. code-block:: CSS\n :number-lines:\n\n .label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n ...more here omitted...\n }\n\nALL this therefore gets applied to footnotes, since they have the ``label`` class. Because the ``@label-color`` is white, this CSS makes the reference invisible against the default (light mode) white background. I like the rest of the styling changes (even though they differ from the standard Sphinx settings), so only the color is changed.\n*/\ndt.label > span.brackets:not(span.brackets > a),\ndt.label > span.fn-backref:not(span.fn-backref > a) {\n color: black;\n}\n\n/* These admonition styles styles are copied from the Bootstrap .alert classes.\n Most of the !important declarations are to override the Sphinx basic.css styles */\n.admonition {\n padding: 8px 35px 8px 14px !important;\n margin-bottom: 20px !important;\n margin-top: 20px !important;\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n background-color: var(--admonition);\n border: 1px solid #fbeed5;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n border-radius: 4px;\n}\n\n/* .alert-danger */\n.admonition.caution {\n color: #a33f3e;\n background-color: #f2dede;\n border-color: #eed3d7;\n}\n\n/* .alert-info */\n.admonition.tip,\n.admonition.note {\n color: #333;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n\n/* from web2py.css */\ndiv.flash {\n font-weight: bold;\n position: fixed;\n padding: 10px;\n top: 55px;\n right: 45px;\n opacity: 0.95;\n margin: 0 0 10px 10px;\n vertical-align: middle;\n cursor: pointer;\n color: #ffffff;\n background-color: #000;\n border: 2px solid #fff;\n border-radius: 8px;\n -moz-border-radius: 8px;\n -webkit-border-radius: 8px;\n background-image: -webkit-linear-gradient(top, #222, #000);\n background-image: -o-linear-gradient(top, #222, #000);\n background-image: -moz-linear-gradient(90deg, #222, #000);\n background-image: linear-gradient(top, #222, #000);\n background-repeat: repeat-x;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n -webkit-font-smoothing: antialiased;\n z-index: 2000;\n}\n\n/* Styles for the login, registration, and Janrain forms */\n#web2py_user_form {\n margin-top: 10px;\n}\n\n#web2py_user_form form {\n float: left;\n margin-right: 150px;\n padding-top: 3px;\n}\n\n#web2py_user_form td {\n padding-bottom: 15px;\n}\n\n#web2py_user_form td.w2p_fw {\n width: 299px;\n}\n\n#auth-actions {\n margin-top: 50px;\n}\n\n#sign_in_text td {\n font-size: 17px;\n color: #333;\n font-family: \"lucida grande\", Verdana, sans-serif;\n padding-bottom: 13px;\n}\n\n#auth_user_remember {\n margin-top: -20px;\n}\n\n/* End login, registration, Janrain styles */\n\n/* end-of-chapter exercises styles */\n#exercises > ol > li,\n#programming-exercises > ol > li {\n margin-bottom: 30px;\n}\n\n#exercises > ol > li:nth-child(even),\n#programming-exercises > ol > li:nth-child(even) {\n padding: 1.2em 1.4em;\n background: #faf7df;\n border: 1px solid #fbeed5;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n border-radius: 4px;\n}\n\n/* End chapter exercises styles */\n\n/* Modal dialog styles (scratch activecode, compare me, etc) */\n.scratch-ac-modal {\n width: 90%;\n max-height: 90%;\n overflow-y: scroll;\n}\n\n.compare-modal .progress {\n margin-bottom: 0;\n}\n\n.compare-me-progress {\n width: 100%;\n}\n\n.compare-me-progress .progress-bar,\n.unittest-results-progress .progress-bar {\n color: #333;\n}\n\n\n.unittest-results-progress {\n width: 25%;\n}\n\n.compare-modal {\n width: 350px;\n}\n\n.compare-modal table {\n border-collapse: separate;\n border-spacing: 10px 5px;\n}\n\n.codelens-modal {\n /* we set some custom position styles so that the modal doesn't obscure the codelens visualizer */\n top: 20%;\n right: 20%;\n left: auto;\n bottom: auto;\n}\n\n@media (max-width: 768px) {\n /* remove any custom position styles when the screen is small (mobile devices)\n to prevent the modal from being partially off the screen */\n .codelens-modal {\n top: 0 !important;\n right: 0 !important;\n bottom: 0 !important;\n left: 0 !important;\n }\n}\n\n.codelens-modal > .modal-dialog {\n width: 400px;\n}\n\n/* End modal dialog styles */\n\n.footnote.table {\n width: auto;\n margin-bottom: 10px;\n}\n\n.footnote.table td.label {\n padding: 2px 5px 2px 5px;\n background-color: #d9edf7;\n}\n\n.ac-canvas {\n background-color: white;\n display: inline-block;\n}\n\n.video-play-overlay {\n position: relative;\n top: -150px;\n left: 44%;\n height: 85px;\n width: 130px;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n.video_popup video {\n width: var(--contentWidthRegular);\n cursor: pointer;\n}\n\n.ui-sortable-helper {\n height: auto !important;\n width: auto !important;\n}\n\n.navLink {\n z-index: 2;\n display: inline;\n bottom: 65px;\n position: fixed;\n opacity: 0.4;\n}\n\n.navLink:hover {\n opacity: 1;\n}\n\n.navLink a {\n display: inline-block;\n background-color: white;\n border-style: solid;\n border-color: lightgrey;\n border-width: 2px;\n width: 100px;\n height: 50px;\n}\n\n#relations-next {\n right: 35px;\n}\n\n#relations-prev {\n left: 35px;\n}\n\n.nextprev-list {\n margin: 10px;\n padding-left: 0;\n height: 50px;\n}\n\n@media (max-width: 600px) {\n .navLink {\n display: inline-block;\n bottom: auto;\n position: absolute;\n }\n\n #relations-next,\n #relations-prev {\n width: 25%;\n padding: 0 20px;\n display: inline;\n }\n}\n\n#completionButton {\n margin-top: 25px;\n margin-bottom: 15px;\n padding-left: 70px;\n padding-right: 70px;\n color: var(--completionButtonText);\n font-weight: bold;\n}\n\n.buttonAskCompletion {\n background-color: var(--completionButton);\n border-color: var(--completionButtonHover);\n font-weight: bold;\n}\n\n.buttonAskCompletion:hover {\n background-color: var(--completionButtonHover);\n border-color: var(--completionButtonHover);\n}\n\n.buttonConfirmCompletion {\n background-color: #377e22;\n border-color: #3dc682;\n color: #ffffff !important;\n}\n\n.buttonConfirmCompletion:hover {\n background-color: #3dc682;\n border-color: #3dc682;\n}\n\n.navLinkBg {\n height: 40px;\n background-color: #ffffff;\n z-index: 1;\n position: fixed;\n bottom: 55px;\n color: #999;\n font-weight: bold;\n -webkit-box-shadow: 0px 0px 3px rgba(50, 50, 50, 0.5);\n -moz-box-shadow: 0px 0px 3px rgba(50, 50, 50, 0.5);\n box-shadow: 0px 0px 3px rgba(50, 50, 50, 0.5);\n}\n\n.navLinkBg:hover {\n color: #999;\n}\n\n#navLinkBgRight {\n right: -1000px;\n padding: 10px 15px 0 65px;\n}\n\n#navLinkBgLeft {\n left: -65px;\n padding-left: 15px;\n padding-right: 50px;\n}\n\n.activehtml {\n width: 100%;\n height: 400px;\n background-color: #ffffff;\n}\n\n.container section > div.sidebar {\n margin: 0 0 0.5em 1em;\n}\n\na.disqus_thread_link {\n display: block;\n}\n\n.reveal_button {\n display: block;\n margin-left: 0;\n}\n\niframe[seamless] {\n display: block;\n}\n\n@media (min-width: 768px) {\n .container section > div.sidebar {\n margin: 0 3em 0.5em 1em;\n }\n}\n\n@media (min-width: 992px) {\n .container section > div.sidebar {\n margin: 0 11em 0.5em 1em;\n }\n}\n\n@media (min-width: 1200px) {\n .container section > div.sidebar {\n margin: 0 18em 0.5em 1em;\n }\n}\n\ndiv.ExecutionVisualizer table.visualizer {\n width: auto;\n margin-left: auto;\n margin-right: auto;\n background-color: #ffffff;\n}\n\n.sltooltip {\n position: absolute;\n z-index: 1020;\n display: block;\n padding-bottom: 5px;\n font-size: 11px;\n visibility: visible;\n margin-top: -2px;\n bottom: 120%;\n margin-left: -2em;\n}\n\n.sltooltip .sltooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-top: 5px solid #000000;\n border-right: 5px solid transparent;\n border-left: 5px solid transparent;\n position: absolute;\n width: 0;\n height: 0;\n}\n\n.sltooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: var(--tooltip);\n text-align: center;\n text-decoration: none;\n background-color: #000000;\n -webkit-border-radius: 4px;\n -moz-border-radius: 4px;\n border-radius: 4px;\n}\n\nul.dropdown-menu.globaltoc {\n max-height: 700px;\n overflow: auto;\n}\n\n.globaltoc span.caption-text {\n display: inline-block;\n font-weight: bold;\n font-size: large;\n}\n\n/* Style lp textareas. */\ntextarea.lp-result {\n width: 100%;\n height: 10em;\n font-family: monospace;\n}\n\n/*\n * Hide only visually, but have it available for screen readers:\n * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility\n *\n * 1. For long content, line feeds are not interpreted as spaces and small width\n * causes content to wrap 1 word per line:\n * https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n */\n\n.visuallyhidden {\n border: 0;\n clip: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n width: 1px;\n white-space: nowrap;\n /* 1 */\n}\n\n/*\n * Extends the .visuallyhidden class to allow the element\n * to be focusable when navigated to via the keyboard:\n * https://www.drupal.org/node/897638\n */\n\n.visuallyhidden.focusable:active,\n.visuallyhidden.focusable:focus {\n clip: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n position: static;\n width: auto;\n white-space: inherit;\n}\n\n.blockquote {\n text-align: center;\n font-size: large;\n font-style: italic;\n padding-left: 2em;\n padding-right: 2em;\n}\n\n\n#subchapterprogress.ui-progressbar .ui-progressbar-value {\n margin: 0;\n border-radius: 0px;\n}\n\n#subchapterprogress > div {\n background: green;\n}\n\n#subchapterprogress > div.loggedout {\n background: lightgray;\n}\n\n.runestone_caption {\n text-align: center;\n}\n\n.runestone_caption_divid {\n opacity: 50%;\n}\n\n#questions .runestone_caption:before {\n counter-increment: rscomponent;\n content: \"Problem: \" counter(rscomponent) \" -- \";\n}\n\nbody {\n color: var(--bodyFont);\n}\n\n.jupyter_container .output {\n margin-top: 10px;\n}\n\n.jupyter_container .output td {\n padding-left: 5px;\n padding-right: 5px;\n}\n\n.jupyter_container .output th {\n padding-left: 5px;\n padding-right: 5px;\n}\n\n/*Theme toggle*/\n.dropdown-menu > li > label.theme-switch {\n display: flex;\n align-items: center;\n font-weight: normal;\n cursor: pointer;\n}\n\n.theme-switch input {\n display: none;\n}\n\n.theme-switch .slider {\nbackground-color: #ccc;\nheight: 1.25em;\nwidth: 2em;\ntransition: 0.4s;\nposition: relative;\nmargin-right: 3px;\n}\n\n.theme-switch .slider:before {\n background-color: #fff;\n bottom: 2px;\n content: \"\";\n height: calc(1.25em - 4px);\n left: 2px;\n position: absolute;\n transition: 0.4s;\n width: calc(1.25em - 4px);\n}\n\n.theme-switch input:checked + .slider {\n background-color: #66bb6a;\n}\n\n.theme-switch input:checked + .slider:before {\n transform: translateX( calc(0.75em - 1px) );\n}\n\n.theme-switch .slider.round {\n border-radius: 1.25em;\n}\n\n.theme-switch .slider.round:before {\n border-radius: 1.25em;\n}\n/*End theme toggle*/\n\n/* for ads */\n.adcopy {\n width: 60%;\n background-color: #f2e0c3;\n padding: 10px;\n margin-left: auto;\n margin-right: auto;\n margin-top: 10px;\n border: solid black 2px;\n border-radius: 10px;\n}\n\n.adcopy .donateb {\n\n margin-left: 30%;\n}\n\n.isCorrect:before {\n /*content: url(https://em-content.zobj.net/thumbs/240/apple/325/check-mark_2714-fe0f.png);*/\n content: \"✅ \";\n float:right;\n padding-left: 4px;\n}\n\n.isInCorrect:before {\n /*content: url(https://em-content.zobj.net/thumbs/240/apple/325/check-mark_2714-fe0f.png);*/\n content: \"⚠️ \";\n float:right;\n padding-left: 4px;\n}\n\n/* ---------------------------------------------------------- */\n/* Redo some PreTeXt styles undone by Bootstrap */\npre {\n color: inherit;\n background: inherit;\n}\n\nsummary.ptx-footnote__number {\n display: inline;\n}\n\nsummary.knowl__link {\n display: list-item inline;\n}\n\ndetails.ptx-footnote {\n display: inline;\n}\n/* ---------------------------------------------------------- */\n\n.handsontable td, .handsontable th {\n background-color: var(--content-background, #fff);\n color: var(--bodyFont, #000);\n}\n\n\nlegend {\n /* allow darkmode to override legend color */\n color: var(--grayToWhite, #333);\n border-bottom-color: var(--grayToWhite, #333);\n}\n\n.autopermalink {\n display: none;\n}","/*\n**********************************************\n|docname| - a WCAG 2.0 AA compliant stylesheet\n**********************************************\n*/\n\n/* Variables holding theme colors */\n:root {\n\t--codebuttons: #474949;\n}\n[data-theme=\"dark\"] {\n\t--codebuttons: #2c0aa6;\n}\n/*Navigation Tabbing Styling*/\nli.dropdown.open a.dropdown-toggle, li.dropdown.open a.dropdown-toggle:focus {\n\tborder:0px !important;\n\t/*background-color: #346A6E!important;*/\n\tbackground-color: #2A5659 !important;\n\tcolor:#F8F8F8 !important;\n}\na.dropdown-toggle:focus {\n\t /*border:1px solid #5B9DD9 !important;\n\t color:#5B9DD9 !important;\n\t width:48px !important;*/\n\t background-color: #52A6AC!important;\n\t color:#F8F8F8 !important;\n}\n/* Border Manipulation */\nli.divider-vertical {\n\tmargin:0px !important;\n}\nli.dropdown a.dropdown-toggle {\n\tpadding:15px 18px !important;\n}\n\n/*\nBootstrap button styling\n*/\n\n/* Default Button */\n/* Passes WCAG 2.0 */\nbutton.btn.btn-default:active {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default:focus {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default{\n\tcolor:#FFFFFF !important;\n\tbackground-color: rgb(71, 73, 73) !important;\n}\nbutton.btn.btn-default.btn-sm.disabled:active {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default.btn-sm.disabled:focus {\n\tcolor:#474949 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-default.btn-sm.disabled{\n\tcolor:#FFFFFF !important;\n\tbackground-color:#474949 !important;\n}\n/* Sucess Button */\n/* Failed WCAG 2.0, #255425 passes */\nbutton.btn.btn-success:active {\n\tcolor:#427e44 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-success:focus {\n\tcolor:#427e44!important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-success {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#427e44!important;\n}\n\n/*Primary Button*/\n/* fails WCAG 2.0, #265986 passes */\nbutton.btn.btn-primary:active {\n\tcolor:#3379b6!important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-primary:focus {\n\tcolor:#3379b6 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-primary {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#3379b6 !important;\n}\n\n\n/*Info Button */\n/* Fails, WCAG 2.0, #155569 passes*/\nbutton.btn.btn-info:active {\n\tcolor:#1a6a83!important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-info:focus {\n\tcolor:#1a6a83 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-info{\n\tcolor:#FFFFFF !important;\n\tbackground-color:#1a6a83 !important;\n}\n\n/*Warning Button*/\n/*Fails WCAG 2.0, #794b0b*/\nbutton.btn.btn-warning:active {\n\tcolor:#945c0e !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-warning:focus {\n\tcolor:#945c0e !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-warning {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#945c0e !important;\n}\n\n/*Danger Button */\n/*Fails, #a62924 passes*/\nbutton.btn.btn-danger:active {\n\tcolor:#d33a35 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-danger:focus {\n\tcolor:#d33a35 !important;\n\tbackground-color:#FFFFFF !important;\n}\nbutton.btn.btn-danger{\n\tcolor:#FFFFFF !important;\n\tbackground-color:#d33a35 !important;\n}\n\n/*Link Button*/\n/*Fails AAA, passes with #265986*/\nbutton.btn.btn-link:active {\n\tcolor:#FFFFFF!important;\n\tbackground-color:#1a6a83 !important;\n}\nbutton.btn.btn-link:focus {\n\tcolor:#FFFFFF !important;\n\tbackground-color:#1a6a83 !important;\n}\nbutton.btn.btn-link {\n\tcolor:#1a6a83 !important;\n\tbackground-color:#FFFFFF !important;\n}","/* Variables holding theme colors */\n:root {\n\t--menu: #FFFFFF;\n}\n\n[data-theme=\"dark\"] {\n\t--menu: #000000;\n}\n\n.my-highlighted-text{\n\tbackground-color:#FFFF99;\n}\n.social-highlighted-text{\n\tbackground-color:#FFCCCC;\n}\n.highlight-option-box{\n\tposition:absolute;\n\ttop:0px;\n\tleft:0px;\n}\n.highlight-option-box li{ \n\theight:24px;\n}\n#continue-reading{\n\tpadding-top:20px;\n\tdisplay: none;\n}\n#continue-reading a{\n\tfloat:right;\n\tmargin-right:20px;\n}\nli.completed\n{\nlist-style-image: url('completed.png');\n}\nli.active\n{\nlist-style-image: url('active.png');\n}\n.infoTextCompleted{\n\tmargin-left:10px;\n\tfont-size:0.9em;\n\tcolor:#3dc682;\n\tdisplay:none;\n\tfont-style:italic;\n\topacity: 0.7;\n}\n.infoTextActive{\n\tmargin-left:10px;\n\tfont-size:0.9em;\n\tcolor:#ff9f19;\n\tdisplay:none;\n\tfont-style:italic;\n\topacity: 0.7;\n}\n.dropdown-menu{\n\tbackground-clip: padding-box;\n background-color: var(--menu);\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 5px 5px 5px 5px;\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n display: none;\n list-style: none outside none;\n margin: 1px 0 0;\n min-width: 160px;\n padding: 4px 0;\n position: absolute;\n top: 100%;\n z-index: 1000;\n}\n.dropdown-menu ul {\n list-style: disc outside none;\n margin: 0 0 9px 25px;\n padding: 0;\n}\n\n.sidebar-highlights{\n background-color:#FFFF99;\n}\ndiv.documentwrapper {\n\tborder : 0 none;\n}\ndiv.bodywrapper {\n\tborder-right: 0 none;\n}\ndiv.sphinxsidebar {\n\tborder-left: 1px solid #CCCCCC;\n\tpadding-left: 10px;\n}\n.body>.section .section{\n\tpadding-top: 1px;\n}\n#jump-to-chapter{\n border: 1px solid #CCCCCC;\n letter-spacing: 0.015em;\n line-height: 120%;\n padding: 0.5em;\n\twidth: 80%;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n#navigation-links{\n\tbackground-color: #F8F8F8;\n border: 1px solid #CCCCCC;\n\tpadding:10px;\n\tmargin:10px;\n}\n",".matrixeq_container {\n padding: 6px 6px 6px 6px;\n margin: 0px 0px 6px 0px;\n}\n\nspan.matrix_table {\n display: inline-table;\n background-color: inherit;\n border-width: 2px 2px;\n border-style: solid;\n border-color: black;\n text-align: center;\n padding: 0px 1px;\n margin: 0px 0px 4px 0px;\n overflow: visible;\n}\n\nspan.matrix_column {\n display: inline-table;\n background-color: inherit;\n padding: 2px 8px 2px 8px;\n margin: 0px 1px;\n border-width: 0px 0px 0px 0px;\n font-family: monospace;\n font-size: 12px;\n vertical-align: middle;\n}\n\nspan.matrix_column div {\n display: block;\n margin: 1px;\n padding: 2px;\n background-color: inherit;\n}\n\nspan.matrix_table .matrix_column {\n border-style: none;\n margin-left: 5px;\n margin-right: 5px;\n}\n\nspan.matrix_table:before {\n content: \" \";\n background-color: inherit;\n width: 85%;\n text-align: center;\n height: 2px;\n position: relative;\n top: -2px;\n z-index: 100;\n display: block;\n margin: 0px auto;\n}\n\nspan.matrix_table:after {\n content: \" \";\n background-color: inherit;\n width: 85%;\n text-align: center;\n height: 2px;\n position: relative;\n top: 2px;\n z-index: 100;\n display: block;\n margin: 0px auto;\n}\n\nspan.matrix_column:before {\n content: \" \";\n width: 85%;\n height: 2px;\n position: relative;\n top: -2px;\n z-index: 100;\n display: block;\n}\n\nspan.matrix_column:after {\n content: \" \";\n width: 85%;\n height: 2px;\n position: relative;\n top: 2px;\n z-index: 100;\n display: block;\n}\n\nspan.matrix_table span.matrix_column:before {\n height: 0px;\n}\n\nspan.matrix_table span.matrix_column:after {\n height: 0px;\n}\n\nspan.matrix_table input[type=\"text\"] {\n display: block;\n margin: 0;\n width: 50px;\n height: 24px;\n font-family: sans-serif;\n font-size: 12px;\n appearance: none;\n box-shadow: none;\n text-align: right;\n background-color: inherit;\n}\n\nspan.matrix_operator {\n display: inline-table;\n padding: 0px;\n margin: 0px 4px 0px 4px;\n font-family: monospace;\n font-size: 18px;\n vertical-align: middle;\n}\n\nspan.matrix_label {\n display: inline-table;\n padding: 0px 0px 0px 20px;\n margin: 0px 1px;\n font-family: sans-serif;\n font-size: 12px;\n vertical-align: middle;\n}\n\n/* Colors for matrix highlighting */\n\n.lightcyanColor {\n background-color: lightcyan;\n}\n\n.lightgreyColor {\n background-color: lightgrey;\n}\n\n.purpleColor {\n background-color: #DFB5E8;\n}\n\n.yellowColor {\n background-color: #FDFF9D;\n}\n\n\n\n","/********************* Colour reference chart****************\nelememt ********* property ********* colour ********\n\nwebgl_container background-color #fcf8e3\n\n*/\n\n/* Major sections */\n.webgl_container {\n background-color: #fcf8e3;\n box-sizing: border-box;\n width: 100%;\n display: block;\n margin-bottom: 1em;\n}\n\n.webgl_cmds {\n box-sizing: border-box;\n width: 100%;\n text-align: center;\n padding: 6px;\n}\n\n.webgl_row2 {\n box-sizing: border-box;\n width: 100%;\n padding: 0px 4px 0px 4px;\n display: block;\n height: 550px;\n}\n\n.webgl_editors {\n box-sizing: border-box;\n float: left;\n display: block;\n visibility: visible;\n width: 50%;\n}\n\n.webgl_canvas {\n box-sizing: border-box;\n float: left;\n display: block;\n visibility: visible;\n font-size: 12px;\n font-weight: normal;\n padding-left: 5px;\n width: 50%;\n}\n\n.webgl_output {\n box-sizing: border-box;\n width: 100%;\n padding: 4px;\n margin-top: 6px;\n float: left;\n}\n\n/* Details within each section */\n/* Tabbed titles, ul horizontal list */\n.webgl_nav_tabs {\n height: 31px;\n width: 100%;\n margin: 0px;\n padding: 6px 0px 0px 0px;\n background-color: #CFCCB8;\n border-color: #fbeed5;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n list-style-type: none;\n overflow: hidden;\n display: inline-flex;\n}\n\n.webgl_nav_tabs li {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n margin: 0px 0px 0px 4px;\n padding: 4px 1px 4px 4px;\n list-style-type: none;\n position: relative;\n float: left;\n background-color: #E6E2CC;\n font-size: 9pt;\n}\n\n.webgl_nav_tabs li > a {\n padding: 8px 8px 8px 8px;\n color: #555;\n text-decoration: none;\n}\n\n.webgl_nav_tabs > li > a:hover {\n border-color: #b4b19d;\n border-bottom-width: 0;\n}\n\n.webgl_nav_tabs li.active {\n background-color: #ffffff;\n list-style-type: none;\n list-style-image: none;\n}\n\n/* Webgl editors */\n.webgl_tab_content {\n width: 100%;\n position: absolute;\n clear: both;\n margin: 0px 0px 20px 0px;\n border: 0px;\n color: #c09853;\n background-color: #fcf8e3;\n z-index: 1;\n}\n\n.webgl_tab_content.active {\n z-index: 2;\n}\n\n.webgl_tab_content > * {\n margin-left: auto;\n margin-right: auto;\n /*\tposition:relative; */\n}\n\n.webgl_tab_content .clearfix {\n position: initial;\n}\n\n.webgl_tab_editor {\n width: 100%;\n position: absolute;\n clear: both;\n padding: 10px 4px 10px 4px;\n margin: 0px 0px 20px 0px;\n border: 0px;\n color: #c09853;\n background-color: #fcf8e3;\n}\n\n/* span that contains the tabbed text editors */\n.webgl_code {\n width: 100%;\n float: left;\n}\n\n.webgl_tab_contents_text {\n width: 100%;\n position: absolute;\n clear: both;\n padding: 10px 4px 10px 4px;\n margin: 0px 0px 20px 0px;\n border: 0px;\n color: #c09853;\n background-color: #fcf8e3;\n z-index: 1;\n}\n\n.webgl_errorMessages {\n color: red;\n}\n\n.webgl_warningMessages {\n color: rgb(170, 34, 164);\n}\n\n.webgl_infoMessages {\n color: rgb(24, 144, 64);\n}\n\n.webgl_output_div {\n width: 100%;\n margin: 2px;\n border: 1px solid lightgrey;\n padding-bottom: 4px;\n padding-top: 4px;\n padding-left: 4px;\n background-color: white;\n overflow: auto;\n height: 14em;\n font-size: 12px;\n font-weight: normal;\n}\n\n.webgl_editor_highlight {\n background-color: #EEEEEE; /* very light grey */\n}\n\n/* \nRemoved as these rules apply to entire browser window and not just webgl interactives\n::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 7px;\n}\n::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0,0,0,.5);\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);\n}\n*/\n\n.webgl_btn {\n display: inline-block;\n padding: 3px 6px;\n margin-bottom: 0;\n background-color: thistle;\n font-size: 12px;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n -o-user-select: none;\n user-select: none;\n}\n\n.webgl_checkbox {\n}\n\n.webgl_tabbed_editor {\n width: 100%;\n resize: none;\n font-family: monospace, sans-serif;\n font-size: 9pt;\n font-style: normal;\n}\n\n.canvas3D {\n width: 100%;\n height: 100%;\n}\n\n.CodeMirror.webgl-default {\n border: 1px solid #eee;\n font-family: monospace, sans-serif;\n font-size: 8pt;\n font-style: normal;\n}\n\nbutton.btn.webgl-default {\n font-size: 8pt;\n}\n\n\n",".runestone-sphinx {\n @import (less) url(\"./presenter_mode.css\");\n}\n",".hidden{\n display: none;\n}\n\n.view-toggle{\n padding: 0.85em;\n}\n\n.presentation-mode section *{\n display: none;\n}\n\n.presentation-mode section .runestone, .presentation-mode section .runestone *{\n display: initial;\n}\n\n.present{\n height: 100vh;\n}\n\n.full-height{\n height: 100vh;\n}\n\n.bottom{\n position: absolute;\n bottom: 0;\n}\n\n#codeDisplayDiv{\n width: auto!important;\n}\n\ndiv.ExecutionVisualizer #dataViz{\n margin: 0;\n}\n\ndiv.ExecutionVisualizer div#stackHeader {\n text-align: center;\n}\n\n#stackFrame{\n display: block!important;\n}\n\n#stackHeapTable {\n width: 100%;\n}\n\n#stackHeapTable tr {\n justify-content: space-around;\n}\n\ndiv.ExecutionVisualizer td#stack_td, div.ExecutionVisualizer td#heap_td {\n flex: 1;\n}\n\n.presentation-title {\n display: none;\n}\n\n.present .presentation-title {\n display: block;\n}\n\ndiv.ExecutionVisualizer div#heap {\n float: none;\n padding-left: 0;\n}\n\n#stack_td tr {\n display: table-row;\n}\n\n#heap_td tr {\n display: table-row;\n}\n\n#codeDisplayDiv{\n margin: 0 auto;\n}\n\n/* bnm -- comment this out for now as it breaks codelens indentation and arrows\n.visualizer tr{\n display: flex;\n}\n*/\n\n#vizLayoutTd{\n flex: 1;\n}\n\n#vizLayoutTdFirst {\n flex: 2;\n}\n\n#vizLayoutTdSecond {\n flex: 1;\n}\n\n#vizLayoutTdThird {\n flex: 2;\n}\n\n#progOutputs {\n display: block!important;\n margin: 0 20px;\n width: 60%;\n}\n\n#pyStdout {\n width: 100%!important;\n}\n\ndiv.ExecutionVisualizer #pyStdout {\n margin-bottom: 1em;\n}\n\ndiv.ExecutionVisualizer table.visualizer {\n width: 100%;\n}\n\n.present #vizLayoutTdThird{\n text-align: left;\n}\n\n.ac-block{\n display: flex;\n margin-bottom: 1em;\n}\n\n.row-mode .ac-block{\n display: block;\n margin-bottom: 0;\n}\n\n.row-mode .ac_output, .row-mode .ac_code_div{\n float: none;\n display: block;\n width: auto;\n max-width: none;\n}\n\n.row-mode .ac_code_div{\n margin-bottom: 1em;\n}\n\n.ac_section>* {\n max-width: 100%;\n}\n\n.ac_output{\n display: block;\n max-width: 100%;\n}\n\n.ac_output pre {\n visibility: visible!important;\n min-height: 60px;\n}\n\n.CodeMirror{\n margin: 0;\n max-width: 100%;\n border-radius: 3px;\n min-height: 60px;\n}\n\n.container section > runestone:not(.ac_section){\n max-width:none;\n margin: 0;\n}\n\n.presentation-options {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n}\n\n.layout-btn {\n background-color: #FBEED5;\n border: 2px solid #DFD4BE;\n border-radius: 2px;\n padding: .25rem;\n display: flex;\n justify-content: center;\n align-items: center;\n margin: 0 .5rem;\n transition: all .2s ease;\n}\n\n.layout-btn.active-layout, .layout-btn:focus {\n border: 2px solid #979797;\n outline: none;\n}\n\n.sketchpad-container {\n min-width: 50%;\n min-height: 300px;\n padding: 0 15px;\n}\n\n.card-mode .sketchpad-container {\n width: 50%;\n margin: 0;\n display: inline-block;\n /*margin: 0 -15px;*/\n vertical-align: top;\n}\n\n.row-mode .error {\n margin: 20px 15px;\n}\n\n.card-mode .error {\n margin: 28px 0 0;\n width: 50%;\n display: inline-block;\n padding: 0 15px;\n vertical-align: top;\n margin-top: 28px;\n}\n\n.sketchpad {\n background: white;\n border: 2px solid grey;\n border-radius: 3px;\n width: 100%;\n min-height: 300px;\n display: block;\n}\n\n.btn-presenter {\n padding: .5rem 1rem;\n border-radius: 3px;\n font-weight: 500;\n margin: 1.5rem 0 1.5rem 1.5rem;\n}\n\n.btn-grey-outline {\n border: 2px solid grey;\n color: grey;\n background: white;\n}\n\n.btn-grey-solid {\n border: 2px solid grey;\n color: white;\n background: grey;\n}\n\nbody.present .ac_section>* {\n max-width: none;\n}\nbody.present iframe {\n width: 100%;\n}\n\nbody.present {\n /* font-size: 2.0em; */\n}\n\nbody.present #relations-prev, body.present #relations-next, body.present .navLinkBg {\n display: none;\n}\n\nbody.present .btn-presenter {\n position: absolute;\n}\nbody.present .btn-presenter.prev-exercise { left: 0px; }\nbody.present .btn-presenter.next-exercise { right: 0px; }\n\n/* .col-md-12 {\n width: 58.333333333333336%;\n}\n\n.card-mode .col-md-7 {\n width: 50%;\n} */\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/course/_static/prefix-runestone.f4ab138da65f4203.css.map.gz b/course/_static/prefix-runestone.f4ab138da65f4203.css.map.gz deleted file mode 100755 index 0ae55bc..0000000 Binary files a/course/_static/prefix-runestone.f4ab138da65f4203.css.map.gz and /dev/null differ diff --git a/course/_static/webpack_static_imports.json b/course/_static/webpack_static_imports.json index 31e9a81..3f07ec2 100755 --- a/course/_static/webpack_static_imports.json +++ b/course/_static/webpack_static_imports.json @@ -1 +1 @@ -{"js":["prefix-runtime.991c135ccf182bf5.bundle.js","prefix-723.3e6434f80549315a.bundle.js","prefix-runestone.c2757fc695bc848c.bundle.js"],"css":["prefix-723.3bccd435914aa0ff.css","prefix-runestone.f4ab138da65f4203.css"]} \ No newline at end of file +{"js":["prefix-runtime.991c135ccf182bf5.bundle.js","prefix-723.3e6434f80549315a.bundle.js","prefix-runestone.1c010553c35c544c.bundle.js"],"css":["prefix-723.3bccd435914aa0ff.css","prefix-runestone.677a75a9120449ff.css"]} \ No newline at end of file diff --git a/course/_static/webpack_static_imports.json.gz b/course/_static/webpack_static_imports.json.gz index 65040ae..dbfa07a 100755 Binary files a/course/_static/webpack_static_imports.json.gz and b/course/_static/webpack_static_imports.json.gz differ diff --git a/course/_static/webpack_static_imports.xml b/course/_static/webpack_static_imports.xml index f49712c..3fc346a 100755 --- a/course/_static/webpack_static_imports.xml +++ b/course/_static/webpack_static_imports.xml @@ -3,12 +3,12 @@ prefix-runtime.991c135ccf182bf5.bundle.js prefix-723.3e6434f80549315a.bundle.js - prefix-runestone.c2757fc695bc848c.bundle.js + prefix-runestone.1c010553c35c544c.bundle.js prefix-723.3bccd435914aa0ff.css - prefix-runestone.f4ab138da65f4203.css + prefix-runestone.677a75a9120449ff.css https://runestone.academy/cdn/runestone/ - 7.11.7 + 7.11.8 diff --git a/course/course-documents.html b/course/course-documents.html index 4f9d4e0..522b320 100755 --- a/course/course-documents.html +++ b/course/course-documents.html @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.7'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + diff --git a/course/frontmatter.html b/course/frontmatter.html index 67cd80d..0130c4d 100755 --- a/course/frontmatter.html +++ b/course/frontmatter.html @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.7'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + diff --git a/course/index.html b/course/index.html index 98ce76c..1aabed2 100755 --- a/course/index.html +++ b/course/index.html @@ -2,7 +2,7 @@ - + diff --git a/course/lunr-pretext-search-index.js b/course/lunr-pretext-search-index.js index 6a7de46..048060f 100755 --- a/course/lunr-pretext-search-index.js +++ b/course/lunr-pretext-search-index.js @@ -7,7 +7,7 @@ var ptx_lunr_docs = [ "type": "Section", "number": "", "title": "Syllabus", - "body": " Syllabus Course Information Day and Time Lectures: TR 11:40 am - 1:20 pm Gladfelter L024 Recitation Section 1: M 12:00 pm - 12:50 pm Wachman 9 Section 2: W 12:00 pm - 12:50 pm Wachman 15 Section 3: F 11:00 am - 11:50 am Wachman 408 Section 4: F 1:00 pm - 1:50 pm Wachman 408 Office Hours tbd Course Goals To introduce some of the basic concepts and techniques of probability and statistics, as applied in the Life and Environmental Sciences. Topics Covered Probability theory and descriptive statistics, probability models, introduction to inferential statistics. Prerequisite MATH 1041 (C), MATH 1038 (C), MATH 1941 (C), MATH 1951 (C), MATH 2043 to 3080 (C-), MA06 Y. Course Mode In-person Credits 4 Textbook and Other Required Materials Textbook Course notes are available at...(TODO) Calculator You will need a scientific calculator (NOT a graphing calculator and NOT a calculator app on your phone\/watch). Any calculator capable of symbolic differentiation\/integration or performing statistical tests is NOT allowed. Scientific calculators (such as the TI-30XIIS ) typically cost around $10. Phone You will need a device (phone or tablet) to take pictures of your quizzes\/tests and upload your work. Assessments Homework There will be homework assignments posted on Canvas approximately weekly. There are more practice problems available in the course notes. Doing homework problems is the primary way that you will learn and internalize the material seen in class. Plan to spend a substantial amount of time throughout the semester doing homework problems. Quizzes There will be in-class quizzes every other week (on Jan 20, Feb 3, Mar 10, Mar 24, and Apr 21). Quizzes give you some practice in a test-like environment without the same grade pressure as a test. The quizzes should be a signal to you about whether you're keeping up with the pace of the course. Exams This course will have two midterm exams and a Final Exam. Exams are the main opportunity for you to demonstrate your understanding of course material. Test 1 Tuesday, February 17 (in class) Test 2 Tuesday, April 7 (in class) Final Exam Tuesday, May 5, 10:30 am - 12:30 pm Makeup Policy There are no quiz or exam makeups. The lowest quiz will be dropped and replaced with the recitation score. Grading The grade components and their weights are: Component Weight Homework 5% Quizzes 15% Exam 1 24% Exam 2 24% Final Exam 32% The lower cutoff for each letter grade is given in the table below. Letter Grade Lower Cutoff A 93% A- 90% B+ 87% B 83% B- 80% C+ 77% C 73% C- 70% D+ 65% D 55% F 0% Attendance Policy Attendance is expected and will be recorded. If you need to miss a class for some reason, it is your responsibility to get notes from another student for any material you've missed, and to arrange to turn in\/make up any in-class or collected work. Attendance and Your Health To achieve course learning goals, students must attend and participate in classes, according to the course requirements. However, if you have tested positive for or are experiencing symptoms of a contagious illness, you should not come to campus or attend in-person classes or activities. It is the student’s responsibility to contact me to create a plan for participation and engagement in the course as soon as you are able to do so, and to make a plan to complete all assignments in a timely fashion. Expectations for Class Conduct It is important to foster a respectful and productive learning environment that includes all students in our diverse community of learners. Our differences, some of which are outlined in the University's nondiscrimination statement, will add richness to this learning experience. Therefore, all opinions and experiences, no matter how different or controversial they may be perceived, must be respected in the tolerant spirit of academic discourse. Disability Statement Any student who has a need for accommodations based on the impact of a documented disability or medical condition should contact Disability Resources and Services (DRS) in Howard Gittis Student Center South, Rm 420 ( drs@temple.edu ; 215-204-1280) to request accommodations and learn more about the resources available to you. If you have a DRS accommodation letter to share with me, or you would like to discuss your accommodations, please contact me as soon as practical. I will work with you and with DRS to coordinate reasonable accommodations for all students with documented disabilities. All discussions related to your accommodations will be confidential. Academic Freedom Freedom to teach and freedom to learn are inseparable facets of academic freedom. The University has adopted a policy on Student and Faculty Academic Rights and Responsibilities (Policy # 03.70.02) which can be accessed here . Add\/Drop Policy Students will be charged for a course unless dropped by the Drop\/Add deadline date. Check the University calendar for exact dates. During the Drop\/Add period, students may drop a course with no record of the class appearing on their transcript. Students are not financially responsible for any courses dropped during this period. In the following weeks prior to or on the withdrawal date students may withdraw from a course with the grade of \"W\" appearing on their transcript. After the withdrawal date students may not withdraw from courses. Check the University calendar for exact dates. See the full policy by clicking here . AI Policy The use of generative AI tools (such as ChatGPT, DALL-E, etc.) is not permitted in this class unless specifically announced for a particular assignment; therefore, any use of AI tools for work in this class may be considered a violation of Temple University's Academic Honesty policy and Student Conduct Code, since the work is not your own. The use of unauthorized AI tools will result in a grade of zero on the assignment; a second offense will be reported to the Student Conduct Board. Incomplete Grades The grade \"I\" (an \"incomplete\") is only given if students cannot complete the course work due to circumstances beyond their control. It is necessary for the student to have completed the majority of the course work with a passing average and to sign an incomplete contract which clearly states what is left for the student to do and the deadline by which the work must be completed. The incomplete contract must also include a default grade that will be used in case the \"I\" grade is not resolved by the agreed deadline. See the full policy by clicking here . Student Support Services The following academic support services are available to students: The Math Consulting Center Student Success Center University Libraries Undergraduate Research Support Career Center Tuttleman Counseling Services Disability Resources and Services If you are experiencing food insecurity or financial struggles, Temple provides resources and support. Notably, the Temple University Cherry Pantry and the Temple University Emergency Student Aid Program are in operation as well as a variety of resources from the Division of Student Affairs. " + "body": " Syllabus Course Information Day and Time Lectures: TR 11:40 am - 1:20 pm Gladfelter L024 Recitation Section 1: M 12:00 pm - 12:50 pm Wachman 9 Section 2: W 12:00 pm - 12:50 pm Wachman 15 Section 3: F 11:00 am - 11:50 am Wachman 408 Section 4: F 1:00 pm - 1:50 pm Wachman 408 Office Hours tbd Course Goals To introduce some of the basic concepts and techniques of probability and statistics, as applied in the Life and Environmental Sciences. Topics Covered Probability theory and descriptive statistics, probability models, introduction to inferential statistics. Prerequisite MATH 1041 (C), MATH 1038 (C), MATH 1941 (C), MATH 1951 (C), MATH 2043 to 3080 (C-), MA06 Y. Course Mode In-person Credits 4 Textbook and Other Required Materials Textbook Course notes are freely available online . Calculator You will need a scientific calculator (NOT a graphing calculator and NOT a calculator app on your phone\/watch). Any calculator capable of symbolic differentiation\/integration or performing statistical tests is NOT allowed. Scientific calculators (such as the TI-30XIIS ) typically cost around $10. Phone You will need a device (phone or tablet) to take pictures of your quizzes\/tests and upload your work. Assessments Homework There will be homework assignments posted on Canvas approximately weekly. There are more practice problems available in the course notes. Doing homework problems is the primary way that you will learn and internalize the material seen in class. Plan to spend a substantial amount of time throughout the semester doing homework problems. Quizzes There will be in-class quizzes every other week (on Jan 20, Feb 3, Mar 10, Mar 24, and Apr 21). Quizzes give you some practice in a test-like environment without the same grade pressure as a test. The quizzes should be a signal to you about whether you're keeping up with the pace of the course. Exams This course will have two midterm exams and a Final Exam. Exams are the main opportunity for you to demonstrate your understanding of course material. Test 1 Tuesday, February 17 (in class) Test 2 Tuesday, April 7 (in class) Final Exam Tuesday, May 5, 10:30 am - 12:30 pm Makeup Policy There are no quiz or exam makeups. The lowest quiz will be dropped and replaced with the recitation score. Grading The grade components and their weights are: Component Weight Homework 5% Quizzes 15% Exam 1 24% Exam 2 24% Final Exam 32% The lower cutoff for each letter grade is given in the table below. Letter Grade Lower Cutoff A 93% A- 90% B+ 87% B 83% B- 80% C+ 77% C 73% C- 70% D+ 65% D 55% F 0% Attendance Policy Attendance is expected and will be recorded. If you need to miss a class for some reason, it is your responsibility to get notes from another student for any material you've missed, and to arrange to turn in\/make up any in-class or collected work. Attendance and Your Health To achieve course learning goals, students must attend and participate in classes, according to the course requirements. However, if you have tested positive for or are experiencing symptoms of a contagious illness, you should not come to campus or attend in-person classes or activities. It is the student’s responsibility to contact me to create a plan for participation and engagement in the course as soon as you are able to do so, and to make a plan to complete all assignments in a timely fashion. Expectations for Class Conduct It is important to foster a respectful and productive learning environment that includes all students in our diverse community of learners. Our differences, some of which are outlined in the University's nondiscrimination statement, will add richness to this learning experience. Therefore, all opinions and experiences, no matter how different or controversial they may be perceived, must be respected in the tolerant spirit of academic discourse. Disability Statement Any student who has a need for accommodations based on the impact of a documented disability or medical condition should contact Disability Resources and Services (DRS) in Howard Gittis Student Center South, Rm 420 ( drs@temple.edu ; 215-204-1280) to request accommodations and learn more about the resources available to you. If you have a DRS accommodation letter to share with me, or you would like to discuss your accommodations, please contact me as soon as practical. I will work with you and with DRS to coordinate reasonable accommodations for all students with documented disabilities. All discussions related to your accommodations will be confidential. Academic Freedom Freedom to teach and freedom to learn are inseparable facets of academic freedom. The University has adopted a policy on Student and Faculty Academic Rights and Responsibilities (Policy # 03.70.02) which can be accessed here . Add\/Drop Policy Students will be charged for a course unless dropped by the Drop\/Add deadline date. Check the University calendar for exact dates. During the Drop\/Add period, students may drop a course with no record of the class appearing on their transcript. Students are not financially responsible for any courses dropped during this period. In the following weeks prior to or on the withdrawal date students may withdraw from a course with the grade of \"W\" appearing on their transcript. After the withdrawal date students may not withdraw from courses. Check the University calendar for exact dates. See the full policy by clicking here . AI Policy The use of generative AI tools (such as ChatGPT, DALL-E, etc.) is not permitted in this class unless specifically announced for a particular assignment; therefore, any use of AI tools for work in this class may be considered a violation of Temple University's Academic Honesty policy and Student Conduct Code, since the work is not your own. The use of unauthorized AI tools will result in a grade of zero on the assignment; a second offense will be reported to the Student Conduct Board. Incomplete Grades The grade \"I\" (an \"incomplete\") is only given if students cannot complete the course work due to circumstances beyond their control. It is necessary for the student to have completed the majority of the course work with a passing average and to sign an incomplete contract which clearly states what is left for the student to do and the deadline by which the work must be completed. The incomplete contract must also include a default grade that will be used in case the \"I\" grade is not resolved by the agreed deadline. See the full policy by clicking here . Student Support Services The following academic support services are available to students: The Math Consulting Center Student Success Center University Libraries Undergraduate Research Support Career Center Tuttleman Counseling Services Disability Resources and Services If you are experiencing food insecurity or financial struggles, Temple provides resources and support. Notably, the Temple University Cherry Pantry and the Temple University Emergency Student Aid Program are in operation as well as a variety of resources from the Division of Student Affairs. " }, { "id": "recitation-calculus-review", diff --git a/course/recitation-calculus-review-printable.html b/course/recitation-calculus-review-printable.html index 4becb0d..db6d045 100755 --- a/course/recitation-calculus-review-printable.html +++ b/course/recitation-calculus-review-printable.html @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.7'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + diff --git a/course/recitation-calculus-review.html b/course/recitation-calculus-review.html index 890a4df..21dec02 100755 --- a/course/recitation-calculus-review.html +++ b/course/recitation-calculus-review.html @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.7'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + diff --git a/course/recitations.html b/course/recitations.html index f8ca0cf..f1e559a 100755 --- a/course/recitations.html +++ b/course/recitations.html @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.7'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + diff --git a/course/root-1-2.html b/course/root-1-2.html index c521134..165b307 100755 --- a/course/root-1-2.html +++ b/course/root-1-2.html @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.7'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + diff --git a/course/syllabus.html b/course/syllabus.html index 688c2e5..8fd67af 100755 --- a/course/syllabus.html +++ b/course/syllabus.html @@ -101,15 +101,15 @@ eBookConfig.allow_pairs = false; eBookConfig.enableScratchAC = false; eBookConfig.build_info = ""; eBookConfig.python3 = null; -eBookConfig.runestone_version = '7.11.7'; +eBookConfig.runestone_version = '7.11.8'; eBookConfig.jobehost = ''; eBookConfig.proxyuri_runs = ''; eBookConfig.proxyuri_files = ''; eBookConfig.enable_chatcodes = false; - - + + @@ -224,7 +224,7 @@ eBookConfig.enable_chatcodes = false;
    Textbook
    -
    Course notes are available at...(TODO) +
    Course notes are freely available online.
    Calculator