jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(k,j,b,c,d){return jQuery.easing[jQuery.easing.def](k,j,b,c,d)},easeInQuad:function(k,j,b,c,d){return c*(j/=d)*j+b},easeOutQuad:function(k,j,b,c,d){return -c*(j/=d)*(j-2)+b},easeInOutQuad:function(k,j,b,c,d){if((j/=d/2)<1){return c/2*j*j+b}return -c/2*((--j)*(j-2)-1)+b},easeInCubic:function(k,j,b,c,d){return c*(j/=d)*j*j+b},easeOutCubic:function(k,j,b,c,d){return c*((j=j/d-1)*j*j+1)+b},easeInOutCubic:function(k,j,b,c,d){if((j/=d/2)<1){return c/2*j*j*j+b}return c/2*((j-=2)*j*j+2)+b},easeInQuart:function(k,j,b,c,d){return c*(j/=d)*j*j*j+b},easeOutQuart:function(k,j,b,c,d){return -c*((j=j/d-1)*j*j*j-1)+b},easeInOutQuart:function(k,j,b,c,d){if((j/=d/2)<1){return c/2*j*j*j*j+b}return -c/2*((j-=2)*j*j*j-2)+b},easeInQuint:function(k,j,b,c,d){return c*(j/=d)*j*j*j*j+b},easeOutQuint:function(k,j,b,c,d){return c*((j=j/d-1)*j*j*j*j+1)+b},easeInOutQuint:function(k,j,b,c,d){if((j/=d/2)<1){return c/2*j*j*j*j*j+b}return c/2*((j-=2)*j*j*j*j+2)+b},easeInSine:function(k,j,b,c,d){return -c*Math.cos(j/d*(Math.PI/2))+c+b},easeOutSine:function(k,j,b,c,d){return c*Math.sin(j/d*(Math.PI/2))+b},easeInOutSine:function(k,j,b,c,d){return -c/2*(Math.cos(Math.PI*j/d)-1)+b},easeInExpo:function(k,j,b,c,d){return(j==0)?b:c*Math.pow(2,10*(j/d-1))+b},easeOutExpo:function(k,j,b,c,d){return(j==d)?b+c:c*(-Math.pow(2,-10*j/d)+1)+b},easeInOutExpo:function(k,j,b,c,d){if(j==0){return b}if(j==d){return b+c}if((j/=d/2)<1){return c/2*Math.pow(2,10*(j-1))+b}return c/2*(-Math.pow(2,-10*--j)+2)+b},easeInCirc:function(k,j,b,c,d){return -c*(Math.sqrt(1-(j/=d)*j)-1)+b},easeOutCirc:function(k,j,b,c,d){return c*Math.sqrt(1-(j=j/d-1)*j)+b},easeInOutCirc:function(k,j,b,c,d){if((j/=d/2)<1){return -c/2*(Math.sqrt(1-j*j)-1)+b}return c/2*(Math.sqrt(1-(j-=2)*j)+1)+b},easeInElastic:function(o,m,p,a,b){var d=1.70158;var c=0;var n=a;if(m==0){return p}if((m/=b)==1){return p+a}if(!c){c=b*0.3}if(n2;b==null&&(b=[]);if(ai&&b.reduce===ai){k&&(m=ar.bind(m,k));return j?b.reduce(m,l):b.reduce(m)}ap(b,function(o,n,p){if(j){l=m.call(k,l,o,n,p)}else{l=o;j=true}});if(!j){throw new TypeError("Reduce of empty array with no initial value")}return l};ar.reduceRight=ar.foldr=function(b,n,m,l){var k=arguments.length>2;b==null&&(b=[]);if(ah&&b.reduceRight===ah){l&&(n=ar.bind(n,l));return k?b.reduceRight(n,m):b.reduceRight(n)}var j=ar.toArray(b).reverse();l&&!k&&(n=ar.bind(n,l));return k?ar.reduce(j,n,m,l):ar.reduce(j,n)};ar.find=ar.detect=function(k,m,j){var l;X(k,function(b,o,n){if(m.call(j,b,o,n)){l=b;return true}});return l};ar.filter=ar.select=function(k,m,j){var l=[];if(k==null){return l}if(ae&&k.filter===ae){return k.filter(m,j)}ap(k,function(b,o,n){m.call(j,b,o,n)&&(l[l.length]=b)});return l};ar.reject=function(k,m,j){var l=[];if(k==null){return l}ap(k,function(b,o,n){m.call(j,b,o,n)||(l[l.length]=b)});return l};ar.every=ar.all=function(k,m,j){var l=true;if(k==null){return l}if(ad&&k.every===ad){return k.every(m,j)}ap(k,function(b,o,n){if(!(l=l&&m.call(j,b,o,n))){return ak}});return !!l};var X=ar.some=ar.any=function(b,l,k){l||(l=ar.identity);var j=false;if(b==null){return j}if(ab&&b.some===ab){return b.some(l,k)}ap(b,function(n,m,o){if(j||(j=l.call(k,n,m,o))){return ak}});return !!j};ar.include=ar.contains=function(k,l){var j=false;if(k==null){return j}if(ag&&k.indexOf===ag){return k.indexOf(l)!=-1}return j=X(k,function(b){return b===l})};ar.invoke=function(b,k){var j=aq.call(arguments,2);return ar.map(b,function(l){return(ar.isFunction(k)?k||l:l[k]).apply(l,j)})};ar.pluck=function(b,j){return ar.map(b,function(k){return k[j]})};ar.max=function(b,l,k){if(!l&&ar.isArray(b)&&b[0]===+b[0]){return Math.max.apply(Math,b)}if(!l&&ar.isEmpty(b)){return -Infinity}var j={computed:-Infinity};ap(b,function(n,m,o){m=l?l.call(k,n,m,o):n;m>=j.computed&&(j={value:n,computed:m})});return j.value};ar.min=function(b,l,k){if(!l&&ar.isArray(b)&&b[0]===+b[0]){return Math.min.apply(Math,b)}if(!l&&ar.isEmpty(b)){return Infinity}var j={computed:Infinity};ap(b,function(n,m,o){m=l?l.call(k,n,m,o):n;mo?1:0}),"value")};ar.groupBy=function(b,l){var k={},j=ar.isFunction(l)?l:function(m){return m[l]};ap(b,function(n,m){var o=j(n,m);(k[o]||(k[o]=[])).push(n)});return k};ar.sortedIndex=function(b,n,m){m||(m=ar.identity);for(var l=0,k=b.length;l>1;m(b[j])=0})})};ar.difference=function(b){var j=ar.flatten(aq.call(arguments,1),true);return ar.filter(b,function(k){return !ar.include(j,k)})};ar.zip=function(){for(var b=aq.call(arguments),l=ar.max(ar.pluck(b,"length")),k=Array(l),j=0;j=0;k--){j=[b[k].apply(this,j)]}return j[0]}};ar.after=function(k,j){return k<=0?j():function(){if(--k<1){return j.apply(this,arguments)}}};ar.keys=f||function(b){if(b!==Object(b)){throw new TypeError("Invalid object")}var k=[],j;for(j in b){ar.has(b,j)&&(k[k.length]=j)}return k};ar.values=function(b){return ar.map(b,ar.identity)};ar.functions=ar.methods=function(b){var k=[],j;for(j in b){ar.isFunction(b[j])&&k.push(j)}return k.sort()};ar.extend=function(b){ap(aq.call(arguments,1),function(j){for(var k in j){b[k]=j[k]}});return b};ar.pick=function(b){var j={};ap(ar.flatten(aq.call(arguments,1)),function(k){k in b&&(j[k]=b[k])});return j};ar.defaults=function(b){ap(aq.call(arguments,1),function(j){for(var k in j){b[k]==null&&(b[k]=j[k])}});return b};ar.clone=function(b){return !ar.isObject(b)?b:ar.isArray(b)?b.slice():ar.extend({},b)};ar.tap=function(k,j){j(k);return k};ar.isEqual=function(k,j){return af(k,j,[])};ar.isEmpty=function(b){if(b==null){return true}if(ar.isArray(b)||ar.isString(b)){return b.length===0}for(var j in b){if(ar.has(b,j)){return false}}return true};ar.isElement=function(b){return !!(b&&b.nodeType==1)};ar.isArray=aj||function(b){return an.call(b)=="[object Array]"};ar.isObject=function(b){return b===Object(b)};ar.isArguments=function(b){return an.call(b)=="[object Arguments]"};ar.isArguments(arguments)||(ar.isArguments=function(b){return !(!b||!ar.has(b,"callee"))});ar.isFunction=function(b){return an.call(b)=="[object Function]"};ar.isString=function(b){return an.call(b)=="[object String]"};ar.isNumber=function(b){return an.call(b)=="[object Number]"};ar.isFinite=function(b){return ar.isNumber(b)&&isFinite(b)};ar.isNaN=function(b){return b!==b};ar.isBoolean=function(b){return b===true||b===false||an.call(b)=="[object Boolean]"};ar.isDate=function(b){return an.call(b)=="[object Date]"};ar.isRegExp=function(b){return an.call(b)=="[object RegExp]"};ar.isNull=function(b){return b===null};ar.isUndefined=function(b){return b===void 0};ar.has=function(k,j){return g.call(k,j)};ar.noConflict=function(){ac._=T;return this};ar.identity=function(b){return b};ar.times=function(k,j,m){for(var l=0;l/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};ar.result=function(b,k){if(b==null){return null}var j=b[k];return ar.isFunction(j)?j.call(b):j};ar.mixin=function(b){ap(ar.functions(b),function(j){e(j,ar[j]=b[j])})};var d=0;ar.uniqueId=function(k){var j=d++;return k?k+j:j};ar.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var Y=/.^/,al={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"},W;for(W in al){al[al[W]]=W}var c=/\\|'|\r|\n|\t|\u2028|\u2029/g,a=/\\(\\|'|r|n|t|u2028|u2029)/g,U=function(b){return b.replace(a,function(k,j){return al[j]})};ar.template=function(b,l,k){k=ar.defaults(k||{},ar.templateSettings);b="__p+='"+b.replace(c,function(m){return"\\"+al[m]}).replace(k.escape||Y,function(n,m){return"'+\n_.escape("+U(m)+")+\n'"}).replace(k.interpolate||Y,function(n,m){return"'+\n("+U(m)+")+\n'"}).replace(k.evaluate||Y,function(n,m){return"';\n"+U(m)+"\n;__p+='"})+"';\n";k.variable||(b="with(obj||{}){\n"+b+"}\n");var b="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+b+"return __p;\n",j=new Function(k.variable||"obj","_",b);if(l){return j(l,ar)}l=function(m){return j.call(this,m,ar)};l.source="function("+(k.variable||"obj")+"){\n"+b+"}";return l};ar.chain=function(b){return ar(b).chain()};var am=function(b){this._wrapped=b};ar.prototype=am.prototype;var S=function(b,j){return j?ar(b).chain():b},e=function(b,j){am.prototype[b]=function(){var k=aq.call(arguments);Q.call(k,this._wrapped);return S(j.apply(ar,k),this._chain)}};ar.mixin(ar);ap("pop,push,reverse,shift,sort,splice,unshift".split(","),function(k){var j=ao[k];am.prototype[k]=function(){var l=this._wrapped;j.apply(l,arguments);var b=l.length;(k=="shift"||k=="splice")&&b===0&&delete l[0];return S(l,this._chain)}});ap(["concat","join","slice"],function(k){var j=ao[k];am.prototype[k]=function(){return S(j.apply(this._wrapped,arguments),this._chain)}});am.prototype.chain=function(){this._chain=true;return this};am.prototype.value=function(){return this._wrapped}}).call(this); /*! * Bootstrap.js by @fat & @mdo * Copyright 2012 Twitter, Inc. * http://www.apache.org/licenses/LICENSE-2.0.txt */ !function(b){b(function(){"use strict",b.support.transition=function(){var c=function(){var e=document.createElement("bootstrap"),d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",msTransition:"MSTransitionEnd",transition:"transitionend"},f;for(f in d){if(e.style[f]!==undefined){return d[f]}}}();return c&&{end:c}}()})}(window.jQuery),!function(e){var d='[data-dismiss="alert"]',f=function(a){e(a).on("click",d,this.close)};f.prototype.close=function(a){function g(){h.trigger("closed").remove()}var k=e(this),j=k.attr("data-target"),h;j||(j=k.attr("href"),j=j&&j.replace(/.*(?=#[^\s]*$)/,"")),h=e(j),a&&a.preventDefault(),h.length||(h=k.hasClass("alert")?k:k.parent()),h.trigger(a=e.Event("close"));if(a.isDefaultPrevented()){return}h.removeClass("in"),e.support.transition&&h.hasClass("fade")?h.on(e.support.transition.end,g):g()},e.fn.alert=function(a){return this.each(function(){var c=e(this),b=c.data("alert");b||c.data("alert",b=new f(this)),typeof a=="string"&&b[a].call(c)})},e.fn.alert.Constructor=f,e(function(){e("body").on("click.alert.data-api",d,f.prototype.close)})}(window.jQuery),!function(d){var c=function(a,e){this.$element=d(a),this.options=d.extend({},d.fn.button.defaults,e)};c.prototype.setState=function(g){var f="disabled",k=this.$element,j=k.data(),h=k.is("input")?"val":"html";g+="Text",j.resetText||k.data("resetText",k[h]()),k[h](j[g]||this.options[g]),setTimeout(function(){g=="loadingText"?k.addClass(f).attr(f,f):k.removeClass(f).removeAttr(f)},0)},c.prototype.toggle=function(){var b=this.$element.parent('[data-toggle="buttons-radio"]');b&&b.find(".active").removeClass("active"),this.$element.toggleClass("active")},d.fn.button=function(a){return this.each(function(){var h=d(this),g=h.data("button"),b=typeof a=="object"&&a;g||h.data("button",g=new c(this,b)),a=="toggle"?g.toggle():a&&g.setState(a)})},d.fn.button.defaults={loadingText:"loading..."},d.fn.button.Constructor=c,d(function(){d("body").on("click.button.data-api","[data-toggle^=button]",function(a){var e=d(a.target);e.hasClass("btn")||(e=e.closest(".btn")),e.button("toggle")})})}(window.jQuery),!function(d){var c=function(a,e){this.$element=d(a),this.options=e,this.options.slide&&this.slide(this.options.slide),this.options.pause=="hover"&&this.$element.on("mouseenter",d.proxy(this.pause,this)).on("mouseleave",d.proxy(this.cycle,this))};c.prototype={cycle:function(a){return a||(this.paused=!1),this.options.interval&&!this.paused&&(this.interval=setInterval(d.proxy(this.next,this),this.options.interval)),this},to:function(a){var k=this.$element.find(".active"),j=k.parent().children(),h=j.index(k),g=this;if(a>j.length-1||a<0){return}return this.sliding?this.$element.one("slid",function(){g.to(a)}):h==a?this.pause().cycle():this.slide(a>h?"next":"prev",d(j[a]))},pause:function(b){return b||(this.paused=!0),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding){return}return this.slide("next")},prev:function(){if(this.sliding){return}return this.slide("prev")},slide:function(r,q){var p=this.$element.find(".active"),o=q||p[r](),n=this.interval,m=r=="next"?"left":"right",l=r=="next"?"first":"last",k=this,a=d.Event("slide");this.sliding=!0,n&&this.pause(),o=o.length?o:this.$element.find(".item")[l]();if(o.hasClass("active")){return}if(d.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(a);if(a.isDefaultPrevented()){return}o.addClass(r),o[0].offsetWidth,p.addClass(m),o.addClass(m),this.$element.one(d.support.transition.end,function(){o.removeClass([r,m].join(" ")).addClass("active"),p.removeClass(["active",m].join(" ")),k.sliding=!1,setTimeout(function(){k.$element.trigger("slid")},0)})}else{this.$element.trigger(a);if(a.isDefaultPrevented()){return}p.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return n&&this.cycle(),this}},d.fn.carousel=function(a){return this.each(function(){var h=d(this),g=h.data("carousel"),b=d.extend({},d.fn.carousel.defaults,typeof a=="object"&&a);g||h.data("carousel",g=new c(this,b)),typeof a=="number"?g.to(a):typeof a=="string"||(a=b.slide)?g[a]():b.interval&&g.cycle()})},d.fn.carousel.defaults={interval:5000,pause:"hover"},d.fn.carousel.Constructor=c,d(function(){d("body").on("click.carousel.data-api","[data-slide]",function(a){var k=d(this),j,h=d(k.attr("data-target")||(j=k.attr("href"))&&j.replace(/.*(?=#[^\s]+$)/,"")),g=!h.data("modal")&&d.extend({},h.data(),k.data());h.carousel(g),a.preventDefault()})})}(window.jQuery),!function(d){var c=function(a,e){this.$element=d(a),this.options=d.extend({},d.fn.collapse.defaults,e),this.options.parent&&(this.$parent=d(this.options.parent)),this.options.toggle&&this.toggle()};c.prototype={constructor:c,dimension:function(){var b=this.$element.hasClass("width");return b?"width":"height"},show:function(){var a,h,g,f;if(this.transitioning){return}a=this.dimension(),h=d.camelCase(["scroll",a].join("-")),g=this.$parent&&this.$parent.find("> .accordion-group > .in");if(g&&g.length){f=g.data("collapse");if(f&&f.transitioning){return}g.collapse("hide"),f||g.data("collapse",null)}this.$element[a](0),this.transition("addClass",d.Event("show"),"shown"),this.$element[a](this.$element[0][h])},hide:function(){var a;if(this.transitioning){return}a=this.dimension(),this.reset(this.$element[a]()),this.transition("removeClass",d.Event("hide"),"hidden"),this.$element[a](0)},reset:function(f){var e=this.dimension();return this.$element.removeClass("collapse")[e](f||"auto")[0].offsetWidth,this.$element[f!==null?"addClass":"removeClass"]("collapse"),this},transition:function(a,k,j){var h=this,g=function(){k.type=="show"&&h.reset(),h.transitioning=0,h.$element.trigger(j)};this.$element.trigger(k);if(k.isDefaultPrevented()){return}this.transitioning=1,this.$element[a]("in"),d.support.transition&&this.$element.hasClass("collapse")?this.$element.one(d.support.transition.end,g):g()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},d.fn.collapse=function(a){return this.each(function(){var h=d(this),g=h.data("collapse"),b=typeof a=="object"&&a;g||h.data("collapse",g=new c(this,b)),typeof a=="string"&&g[a]()})},d.fn.collapse.defaults={toggle:!0},d.fn.collapse.Constructor=c,d(function(){d("body").on("click.collapse.data-api","[data-toggle=collapse]",function(a){var k=d(this),j,h=k.attr("data-target")||a.preventDefault()||(j=k.attr("href"))&&j.replace(/.*(?=#[^\s]+$)/,""),g=d(h).data("collapse")?"toggle":k.data();d(h).collapse(g)})})}(window.jQuery),!function(f){function g(){f(e).parent().removeClass("open")}"use strict";var e='[data-toggle="dropdown"]',h=function(a){var d=f(a).on("click.dropdown.data-api",this.toggle);f("html").on("click.dropdown.data-api",function(){d.parent().removeClass("open")})};h.prototype={constructor:h,toggle:function(a){var l=f(this),k,j,d;if(l.is(".disabled, :disabled")){return}return j=l.attr("data-target"),j||(j=l.attr("href"),j=j&&j.replace(/.*(?=#[^\s]*$)/,"")),k=f(j),k.length||(k=l.parent()),d=k.hasClass("open"),g(),d||k.toggleClass("open"),!1}},f.fn.dropdown=function(a){return this.each(function(){var c=f(this),b=c.data("dropdown");b||c.data("dropdown",b=new h(this)),typeof a=="string"&&b[a].call(c)})},f.fn.dropdown.Constructor=h,f(function(){f("html").on("click.dropdown.data-api",g),f("body").on("click.dropdown",".dropdown form",function(b){b.stopPropagation()}).on("click.dropdown.data-api",e,h.prototype.toggle)})}(window.jQuery),!function(j){function o(){var a=this,d=setTimeout(function(){a.$element.off(j.support.transition.end),n.call(a)},500);this.$element.one(j.support.transition.end,function(){clearTimeout(d),n.call(a)})}function n(b){this.$element.hide().trigger("hidden"),m.call(this)}function m(a){var p=this,g=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=j.support.transition&&g;this.$backdrop=j(' ',player:'
<%= title %>
Download Flash to view this video.
',notifications:'
Available Questions
',notification:' <% if (question.state == CS50.Video.QuestionState.CORRECT) { %> <% } else if (question.state == CS50.Video.QuestionState.INCORRECT) { %> <% } else { %> <% } %> <% if (question.question.tags && question.question.tags.length) print(question.question.tags.join(", ")); else print(question.question.question); %> ',};jQuery.expr[":"].Contains=function(g,h,f){return jQuery(g).text().toUpperCase().indexOf(f[3].toUpperCase())>=0};this.templates={};for(var c in a){this.templates[c]=_.template(a[c])}this.supportsFlip=((function e(){var h=-1;if(navigator.appName=="Microsoft Internet Explorer"){var f=navigator.userAgent;var g=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");if(g.exec(f)!=null){h=parseFloat(RegExp.$1)}}return h})()==-1);this.options.questions.sort(function(g,f){return(g.timecode-f.timecode)});if(!this.options.mixpanelKey){window.analytics50=false}else{if(!window.analytics50){window.analytics50=new CS50.Analytics({mixpanel:{token:this.options.mixpanelKey}},true);window.analytics50.identify(this.options.user.id);window.analytics50.name_tag(this.options.user.name)}}if(this.options.survey50){this.loadSurvey50()}else{_.each(this.options.questions,function(f){f.state=CS50.Video.QuestionState.UNSEEN});this.createPlayer()}};CS50.Video.QuestionState={UNSEEN:"unseen",UNANSWERED:"unanswered",CORRECT:"correct",INCORRECT:"incorrect"};CS50.Video.prototype.checkQuestionAvailable=function(f){var b=this.player;var g=$(this.notificationsContainer).find("tbody");var a=$(this.notificationsContainer).find("#video50-notifications-all").prop("checked");var d=this;var e=0;_.each(this.options.questions,function(k,j){if(k.timecode<=Math.floor(f.position)&&!g.find('tr[data-question-id="'+k.question.id+'"]').length){if(d.currentQuestion!=k.question.id){if($(d.notificationsContainer).find("#video50-notifications-auto").is(":checked")&&k.timecode==Math.floor(f.position)){d.showQuestion(k.question.id)}var h=$(d.templates.notification({question:k}));h.find("td").hide();g.prepend(h);h.find("td").fadeIn("fast",function(){h.find("[rel=tooltip]").tooltip({placement:"right"})})}}if((k.timecode<=Math.floor(f.position)||a)&&k.state==CS50.Video.QuestionState.UNSEEN){e++}});var c=$(d.options.playerContainer).find(".questions-number");if(e>parseFloat(c.text())){c.text(e);clearInterval(d.bounceInterval);d.bounceInterval=setInterval(function(){c.animate({"margin-top":"-10px"},300,"jswing").animate({"margin-top":"0px"},400,"easeOutBounce")},1500);clearInterval(d.bounceTimeout);d.bounceTimeout=setTimeout(function(){clearInterval(d.bounceInterval)},10000)}else{c.text(e)}};CS50.Video.prototype.forceRedraw=function(a){a[0].style.display="none";a[0].offsetHeight;a[0].style.display="block";$(window).trigger("resize");setTimeout(function(){$(window).trigger("resize")},1000);setTimeout(function(){$(window).trigger("resize")},2000)};CS50.Video.prototype.createPlayer=function(a){var e=$(this.options.playerContainer);e.empty();e.html(this.templates.player({defaultLanguage:this.options.defaultLanguage,srt:this.options.srt,swf:this.options.swf,title:this.options.title,}));if(_.keys(this.options.srt).length){e.find(".btn-group-transcript").css({display:"inline-block"})}if(this.options.questions.length!=0){e.find(".btn-questions").css({display:"inline-block"})}if(!this.supportsFlip){$(this.options.playerContainer).find(".flip-container").addClass("degraded")}var f=Math.random().toString();e.find(".video-container div").attr("id",f);var c=this;var b=29;this.player=jwplayer(f).setup(this.options.playerOptions).onReady(function(){var h=e.find(".video-container").width();var g=h/c.options.aspectRatio;jwplayer(f).resize(h,g+b);e.find(".flip-question-container").css({minHeight:g+b});e.find(".cc-container .cc-text").css({"font-size":Math.max(12,h/45)+"px",padding:(0.00875*h)+"px "+(0.01*h)+"px","line-height":Math.max(12,h/45)+6+"px"})});$(window).on("resize",function(){var h=e.find(".video-container").width();var g=h/c.options.aspectRatio;jwplayer(f).resize(h,g+b);e.find(".flip-question-container").css({minHeight:g+b});e.find(".cc-container .cc-text").css({"font-size":Math.max(12,h/45)+"px",padding:(0.00875*h)+"px "+(0.01*h)+"px","line-height":Math.max(12,h/45)+6+"px"})});this.player.onFullscreen(function(j){if(window.analytics50){window.analytics50.track("video50/fullscreen",{video:c.currentVideo})}if(j.fullscreen){e.find(".video50-player").addClass("fullscreen");var h=navigator.userAgent;if(h.indexOf("Safari")!=-1&&h.indexOf("Chrome")==-1){return}var g=e.find(".video50-player")[0];if(g.webkitRequestFullScreen){g.webkitRequestFullScreen()}}else{if(document.webkitCancelFullScreen){document.webkitCancelFullScreen()}e.find(".video50-player").removeClass("fullscreen")}c.forceRedraw(e)});this.player.onPause(function(g){if(window.analytics50){window.analytics50.track("video50/pause",{video:c.currentVideo})}});this.player.onPlay(function(g){if(window.analytics50){window.analytics50.track("video50/play",{video:c.currentVideo})}});this.player.onSeek(function(g){if(window.analytics50){window.analytics50.track("video50/seek",{from:g.position,to:g.offset,video:c.currentVideo})}});this.player.onTime(function(g){if(!this.lastUpdate||(this.lastUpdate+500)<(new Date).getTime()){c.checkQuestionAvailable(g);c.updateTranscriptHighlight(g);c.updateCC(g);this.lastUpdate=(new Date).getTime()}});var d=false;this.player.onPlay(function(){if(!d&&a){setTimeout(function(){c.player.seek(a);d=true;setTimeout(function(){c.player.setMute(false);e.find(".video-container").css("visibility","visible")},300)},300)}});this.player.onReady(function(){if(a){c.player.setMute(true);e.find(".video-container").css("visibility","hidden")}if(c.options.autostart){c.player.play(true)}var g=(c.player.renderingMode!="flash");if(!g){c.options.playbackRates=[]}var h=$(c.templates.playbackControls({defaultVideo:c.options.defaultVideo,downloads:c.options.download,rates:c.options.playbackRates,videos:c.options.video}));e.find(".video50-playback-controls").remove();e.find(".video50-player").after(h);h.find('[data-rate="1"]').addClass("active");h.on("click",".btn-playback-rate",function(k){$(this).siblings().removeClass("active");$(this).addClass("active");var j=parseFloat($(this).attr("data-rate"));e.find("video")[0].playbackRate=j;if(window.analytics50){window.analytics50.track("video50/playbackRate",{rate:j,video:this.currentVideo})}k.preventDefault();return false});h.on("click",".btn-video-select li a",function(k){var j=c.player.getPosition();c.currentVideo=$(this).attr("data-video");var l=c.currentVideo;if(c.options.videoUrl){l=c.options.videoUrl+l}c.options.defaultVideo=$(this).text();c.options.playerOptions.file=c.currentVideo;c.options.playerOptions.modes[0].config.file=l;$(c.options.playerContainer).empty();c.createPlayer(j);return false});h.on("click",".btn-download li a",function(j){if(window.analytics50){window.analytics50.track("video50/download",{href:$(this).attr("href"),video:c.currentVideo})}});if(typeof(c.options.onReady)==="function"){c.options.onReady()}});$(document).on("mozfullscreenchange",function(){if(!document.mozFullScreen){jwplayer(f).setFullscreen(false);$(window).trigger("resize");setTimeout(function(){$(window).trigger("resize")},1000);setTimeout(function(){$(window).trigger("resize")},2000)}});$(document).on("webkitfullscreenchange",function(){if(!document.webkitIsFullScreen){jwplayer(f).setFullscreen(false);$(window).trigger("resize");setTimeout(function(){$(window).trigger("resize")},1000);setTimeout(function(){$(window).trigger("resize")},2000)}});e.on("click",".btn-modal",function(g){if($(this).hasClass("active")){e.find(".btn-modal").removeClass("active")}else{e.find(".btn-modal").removeClass("active");$(this).addClass("active")}});e.on("click",".btn-back",function(g){$(this).fadeOut("medium");c.player.play(true);if(c.supportsFlip){e.find(".flip-container").removeClass("flipped");$(".video50-txt-answer").remove();e.find(".modal-container").fadeIn();e.find(".cc-container").fadeIn();if(!$(c.notificationsContainer).find("#video50-notifications-auto").is(":checked")){c.toggleModal($(c.notificationsContainer))}e.find(".video-container").fadeIn(600)}else{e.find(".flip-question-container").fadeOut("fast",function(){$(".video50-txt-answer").remove();e.find(".modal-container").fadeIn();e.find(".cc-container").fadeIn();if(!$(c.notificationsContainer).find("#video50-notifications-auto").is(":checked")){c.toggleModal($(c.notificationsContainer))}e.find(".video-container").fadeIn(600)})}});e.on("click",".btn-cc",function(g){if($(this).hasClass("on")){$(this).removeClass("on");e.find(".cc-text").hide()}else{$(this).addClass("on");e.find(".cc-text").css({display:"inline-block"})}});e.off("click",".btn-transcript").on("click",".btn-transcript",function(h){if(e.find(".question-content").is(":visible")){$(this).removeClass("active");return false}var g=e.find(".transcript-container");c.toggleModal(g,function(){if(e.find(".transcript-text-wrapper .highlight").length){var j=e.find(".transcript-text-wrapper .highlight").position().top||0;j-=e.find(".transcript-container").height()/2;e.find(".transcript-text-wrapper").scrollTop(j)}})});if(window.analytics50){window.analytics50.track("video50/load",{video:this.currentVideo})}this.loadSrt(this.options.defaultLanguage);this.createNotifications()};CS50.Video.prototype.createNotifications=function(){var b=this;var c=$(this.options.playerContainer);var a=c.find(".video50-player .modal-container");this.notificationsContainer=$('
').hide()[0];var d=$(this.notificationsContainer);d.html(this.templates.notifications());a.append(d);c.on("click",".btn-questions",function(f){if(c.find(".question-content").is(":visible")){$(this).removeClass("active");return false}b.toggleModal(d)});var b=this;d.on("click","a",function(){var e=$(this).parents("[data-question-id]").attr("data-question-id");b.showQuestion(e);$(this).tooltip("hide")});d.on("change","#video50-notifications-all",function(){if($(this).is(":checked")){_.each(b.options.questions,function(f){if(!d.find('tr[data-question-id="'+f.question.id+'"]').length){d.find("tbody").append(b.templates.notification({question:f})).find("[rel=tooltip]").tooltip({placement:"right"})}})}else{_.each(b.options.questions,function(f){if(f.timecode>Math.floor(b.player.getPosition())){d.find('tr[data-question-id="'+f.question.id+'"]').remove()}})}})};CS50.Video.prototype.loadSrt=function(c){this.srtData={};var a=this.player;var b=this;$(b.options.playerContainer).find(".transcript-lang a[data-lang]").removeClass("active");$(b.options.playerContainer).find(".transcript-lang a[data-lang="+c+"]").addClass("active");if(this.options.srt[c]){$.get(this.options.srt[c],function(h){var m=h.split(/\n\s*\n/);if(_.keys(b.options.srt).length){var p=$(b.options.playerContainer).find(".transcript-text");var g=p.find(".highlight[data-time]").attr("data-time");p.empty();var e=m.length;for(var j=0;j1){var l=d[1].split(" --> ")[0];d.splice(0,2);var k=d.join(" ");if(k.match(/^(>>|\[)/)){p.append("

")}var f=l.match(/(\d+):(\d+):(\d+)/);var o=parseInt(f[1],10)*3600+parseInt(f[2],10)*60+parseInt(f[3],10);p.append(''+k+" ")}}if(g){var f={position:g};b.updateCC(f);b.updateTranscriptHighlight(f)}$(b.options.playerContainer).off("click",".transcript-lang a[data-lang]").on("click",".transcript-lang a[data-lang]",function(){var n=$(this).attr("data-lang");b.loadSrt(n);if(!$(b.options.playerContainer).find(".btn-cc").is(".on")){$(b.options.playerContainer).find(".btn-cc").click()}});p.off("click","a").on("click","a",function(){var n=$(this).attr("data-time");if(n){a.seek(Math.floor(n));a.play(true)}});$(b.options.playerContainer).off("keyup",".transcript-search").on("keyup",".transcript-search",function(){if($.trim($(this).val())==""){$(b.options.playerContainer).find("[data-time], br").css({display:"inline","margin-bottom":"0px"});$(b.options.playerContainer).find(".transcript-search-wrapper i").removeClass("icon-remove").addClass("icon-search")}else{$(b.options.playerContainer).find(".transcript-search-wrapper i").removeClass("icon-search").addClass("icon-remove");$(b.options.playerContainer).find("[data-time], br").hide();$(b.options.playerContainer).find("[data-time]:Contains('"+$(this).val()+"')").show().css({display:"block","margin-bottom":"10px"})}});$(b.options.playerContainer).off("click",".transcript-search-wrapper i").on("click",".transcript-search-wrapper i",function(){$(b.options.playerContainer).find(".transcript-search-wrapper .transcript-search").val("");$(b.options.playerContainer).find(".transcript-search").trigger("keyup")})}})}};CS50.Video.prototype.loadSurvey50=function(){var a={0:CS50.Video.Render.MultipleChoiceRemote,1:CS50.Video.Render.NumericRemote,2:CS50.Video.Render.FreeResponseRemote,3:CS50.Video.Render.TrueFalseRemote};var b=this;$.ajax(this.options.survey50Url+"/users/authenticated",{data:{jsonp:true},dataType:"jsonp",success:function(c){if(!c.authenticated){if(b.options.autojoin){window.location.href=b.options.survey50Url+"/join/"+b.options.autojoin+"?return="+window.location.href}else{window.location.href=b.options.survey50Url+"/login?return="+window.location.href}}b.options.user=c.user;if(window.analytics50){window.analytics50.identify(b.options.user.id);window.analytics50.name_tag(b.options.user.name)}}});$.ajax(b.options.survey50Url+"/survey/surveys/get/"+b.options.survey50,{data:{jsonp:true},dataType:"jsonp",success:function(c){b.options.questions=[];_.each(c.Questions,function(j){var h={};var g={};if(j.question_data){h=JSON.parse(j.question_data)}if(j.metadata){g=JSON.parse(j.metadata)}if(g.timecode){var d={timecode:g.timecode,question:{id:j.id,question:j.question,render:a[j.type],tags:g.tags||[]}};for(var f in h){d.question[f]=h[f]}d.state=CS50.Video.QuestionState.UNSEEN;_.each(j.Responses,function(e){if(d.state==CS50.Video.QuestionState.UNSEEN&&!e.correct){d.state=CS50.Video.QuestionState.INCORRECT}else{if(e.correct){d.state=CS50.Video.QuestionState.CORRECT}}});b.options.questions.push(d)}});b.createPlayer()}})};CS50.Video.prototype.renderCallback=function(e,b,d){var a=_.find(this.options.questions,function(f){return f.question.id==e});a.state=(b)?CS50.Video.QuestionState.CORRECT:CS50.Video.QuestionState.INCORRECT;if(window.analytics50){window.analytics50.track("video50/answerQuestion",{correct:b,id:e,video:this.currentVideo})}var c=$(this.notificationsContainer).find("[data-question-id="+e+"]").find(".question-state");if(b){c.html('')}else{c.html('')}return true};CS50.Video.prototype.showQuestion=function(e){var a=_.find(this.options.questions,function(f){return f.question.id==e});if(a){if(window.analytics50){window.analytics50.track("video50/viewQuestion",{id:e,video:this.currentVideo})}this.currentQuestion=e;$(".video50-txt-answer").remove();if(!a.state||a.state==CS50.Video.QuestionState.UNSEEN){a.state=CS50.Video.QuestionState.UNANSWERED}this.player.pause(true);var b=$(this.options.playerContainer);var d=$(this.options.playerContainer).find(".flip-question-container .question-content");d.empty().off();b.find(".btn-questions").removeClass("active");a.question.render(this,d,a.question,this.renderCallback);var c=this;$(this.options.playerContainer).find(".cc-container").fadeOut();$(this.options.playerContainer).find(".modal-container").fadeOut(100,function(){if(c.supportsFlip){$(c.options.playerContainer).find(".video-container").fadeOut(600);$(c.options.playerContainer).find(".flip-container").addClass("flipped")}else{$(c.options.playerContainer).find(".video-container").fadeOut("fast",function(){$(c.options.playerContainer).find(".flip-question-container").fadeIn("fast")})}});setTimeout(function(){b.find(".btn-back").show()},100)}};CS50.Video.prototype.toggleModal=function(b,a){if(a==undefined){a=function(){}}$container=$(this.options.playerContainer).find(".modal-container");if(b.is(":hidden")){$container.children().not(b).slideUp("fast",function(){b.slideDown("fast",a)})}else{b.slideUp("fast",a)}return b};CS50.Video.prototype.updateCC=function(c){var c=Math.floor(c.position);var d=$(this.options.playerContainer);var a=d.find('.transcript-container [data-time="'+c+'"]');var b=d.find(".cc-container .cc-text");if(a.length&&b.attr("data-time")!=c){b.text(a.text())}};CS50.Video.prototype.updateTranscriptHighlight=function(b){var b=Math.floor(b.position);var c=$(this.options.playerContainer).find(".transcript-container");var a=c.find('[data-time="'+b+'"]');if(a&&a.length){c.find("a").removeClass("highlight");a.addClass("highlight")}};(function(k){if(k.browser.msie&&"XDomainRequest" in window&&!("__jquery_xdomain__" in k)){k.__jquery_xdomain__=k.support.cors=!0;var h=function(c){return"object"===k.type(c)?c:(c=/^(((([^:\/#\?]+:)?(?:\/\/((?:(([^:@\/#\?]+)(?:\:([^:@\/#\?]+))?)@)?(([^:\/#\?]+)(?:\:([0-9]+))?))?)?)?((\/?(?:[^\/\?#]+\/+)*)([^\?#]*)))?(\?[^#]+)?)(#.*)?/.exec(c))?{href:c[0]||"",hrefNoHash:c[1]||"",hrefNoSearch:c[2]||"",domain:c[3]||"",protocol:c[4]||"",authority:c[5]||"",username:c[7]||"",password:c[8]||"",host:c[9]||"",hostname:c[10]||"",port:c[11]||"",pathname:c[12]||"",directory:c[13]||"",filename:c[14]||"",search:c[15]||"",hash:c[16]||""}:{}},b=k.ajaxSettings.xhr,j="SESSION_COOKIE_NAME" in window?window.SESSION_COOKIE_NAME:"jsessionid",a=h(document.location.href).domain;k.ajaxSettings.xhr=function(){var d=h(this.url).domain;if(""===d||d===a){return b.call(k.ajaxSettings)}try{var c=new XDomainRequest;if(!c.setRequestHeader){c.setRequestHeader=k.noop}if(!c.getAllResponseHeaders){c.getAllResponseHeaders=k.noop}if(j){var f=c.open;c.open=function(){var l=RegExp("(?:^|; )"+j+"=([^;]*)","i").exec(document.cookie);if(l=l&&l[1]){var g=arguments[1].indexOf("?");arguments[1]=-1==g?arguments[1]+(";"+j+"="+l):arguments[1].substring(0,g)+";"+j+"="+l+arguments[1].substring(g)}return f.apply(this,arguments)}}c.onload=function(){if("function"===typeof c.onreadystatechange){c.readyState=4,c.status=200,c.onreadystatechange.call(c,null,!1)}};c.onerror=c.ontimeout=function(){if("function"===typeof c.onreadystatechange){c.readyState=4,c.status=500,c.onreadystatechange.call(c,null,!1)}};return c}catch(e){}}}})(jQuery);var CS50=CS50||{};CS50.Video.Render=CS50.Video.Render||{};CS50.Video.Render.checkRemote=function(a,c,b,d){if(!b.options.checkUrl){b.options.checkUrl=b.options.survey50Url+"/survey/questions/check"}$(b.options.playerContainer).find(".btn-submit").attr("disabled",true).text("Submitting...");$.ajax({dataType:"jsonp",url:b.options.checkUrl,data:{id:a.id,answer:c,jsonp:true},success:function(e){CS50.Video.Render.displayCorrectness(e.correct,b);$(b.options.playerContainer).find(".btn-submit").attr("disabled",false).text("Submit Response");d.call(b,a.id,e.correct,{})}})};CS50.Video.Render.displayCorrectness=function(b,c,d){if(d===undefined){d=$(c.options.playerContainer).find(".question-content")}d.find(".alert").remove();if(b){var a=$('
Correct!
')}else{var a=$('
That\'s not the right answer, try again!
')}a.hide().appendTo(d).fadeIn("fast")};CS50.Video.Render.FreeResponse=function(c,a,e,j,b){var k=$(a);k.append("

"+e.question+"

");var f=$('');k.append(f);var h=$('');setTimeout(function(){var l=f.offset();h.css({position:"absolute",top:l.top+"px",left:l.left+"px","z-index":999});$("body").append(h);f.css({visibility:"hidden"})},1000);var d=$('').hide();k.append(d);var g=this;k.on("click",".btn-submit",function(m){if(b===undefined||b===false){var l=h.val().match(e.answer);CS50.Video.Render.displayCorrectness(l,c);j.call(c,e.id,l,{})}else{CS50.Video.Render.checkRemote(e,h.val(),c,j)}m.preventDefault();return false});$("body").on("keyup",".video50-txt-answer",function(l){var n=k.find(".btn-submit");var m=$(".video50-txt-answer");if(m.val().match(/^\s*$/)&&n.is(":visible")){n.fadeOut("fast")}else{if(!n.is(":visible")){n.fadeIn("fast")}}l.stopPropagation()});return h};CS50.Video.Render.FreeResponseRemote=function(b,a,c,d){CS50.Video.Render.FreeResponse(b,a,c,d,true)};CS50.Video.Render.MultipleChoice=function(c,a,e,h,d){var f=$(a);f.append("

"+e.question+"

");$choices=$('
');_.each(e.choices,function(k,j){$choices.append('
")});var g=$('').hide();f.append($choices);f.append(g);var b=this;f.on("click",".btn-submit",function(l){var k=parseInt(f.find("input[type=radio]:checked").val());if(e.trueFalse){k=Number(!k)}if(d===undefined||d===false){var j=(e.answer==k);CS50.Video.Render.displayCorrectness(j,c);h.call(c,e.id,j,{})}else{CS50.Video.Render.checkRemote(e,k,c,h)}l.preventDefault();return false});f.on("click",".question-choices input[type=radio]",function(){g=f.find(".btn-submit");if(!g.is(":visible")){g.fadeIn("fast")}})};CS50.Video.Render.MultipleChoiceRemote=function(b,a,c,d){CS50.Video.Render.MultipleChoice(b,a,c,d,true)};CS50.Video.Render.Numeric=function(c,a,e,h,d){e.tolerance=(e.tolerance===undefined)?1:e.tolerance;var g=CS50.Video.Render.FreeResponse(c,a,e,h);var f=$(a);f.off("click",".btn-submit");var b=this;f.on("click",".btn-submit",function(k){var l=parseFloat(g.val());if(d===undefined||d===false){var j=(!isNaN(l)&&l<=e.answer+e.answer*e.tolerance&&l>=e.answer-e.answer*e.tolerance);CS50.Video.Render.displayCorrectness(j,c);h.call(c,e.id,j,{})}else{CS50.Video.Render.checkRemote(e,l,c,h)}k.preventDefault();return false})};CS50.Video.Render.NumericRemote=function(b,a,c,d){CS50.Video.Render.Numeric(b,a,c,d,true)};CS50.Video.Render.TrueFalse=function(b,a,d,e,c){CS50.Video.Render.MultipleChoice(b,a,{answer:d.answer,choices:["True","False"],id:d.id,question:d.question,tags:d.tags,trueFalse:true,},e,c)};CS50.Video.Render.TrueFalseRemote=function(b,a,c,d){CS50.Video.Render.TrueFalse(b,a,c,d,true)};CS50.Video.Languages={abk:"Abkhaz",ace:"Aceh (Achenese)",ach:"Acholi (Acoli)",ady:"Adyghe (Adygei)",aar:"Afar",afh:"Afrihili",afr:"Afrikaans",afa:"Afro-Asiatic",ain:"Ainu",aka:"Akan",akk:"Akkadian",alb:"Albanian",ale:"Aleut",alg:"Algonquian languages",alt:"Altai, Southern",tut:"Altaic",amh:"Amharic",anp:"Angika",anu:"Anuak (Anywa)",apa:"Apache languages",ara:"Arabic",arg:"Aragonese",arc:"Aramaic",arp:"Arapaho",arw:"Arawak",arm:"Armenian",art:"Artificial",asm:"Assamese",ast:"Asturian (Astur-Leonese)",ath:"Athapascan languages",map:"Austronesian",ava:"Avar (Avaric)",ave:"Avestan",awa:"Awadhi",aym:"Aymara",aze:"Azerbaijani",ban:"Bali (Balinese)",bat:"Baltic",bal:"Baluchi",bam:"Bamanankan (Bambara)",bai:"Bamileke languages",bad:"Banda languages",bnt:"Bantu",bas:"Basaa (Basa)",bak:"Bashkir",baq:"Basque",btk:"Batak languages",bej:"Bedawi (Beja, Bedawiet)",bel:"Belarusan (Belarusian)",bem:"Bemba",ben:"Bengali",ber:"Berber",bho:"Bhojpuri",bih:"Bihari",bik:"Bikol (Bicolano)",byn:"Bilen (Blin, Bilin)",bis:"Bislama",bla:"Blackfoot (Siksika)",zbl:"Blissymbols (Blissymbolics/Bliss)",bos:"Bosnian",bra:"Braj Bhasha",bre:"Breton",bug:"Bugis (Buginese)",bul:"Bulgarian",bua:"Buriat",bur:"Burmese (Myanmar)",cad:"Caddo",car:"Carib (Galibi)",cat:"Catalan",cau:"Caucasian",ceb:"Cebuano",cel:"Celtic",cai:"Central American Indian",chg:"Chagatai",cmc:"Chamic languages",cha:"Chamorro",che:"Chechen",chr:"Cherokee",chy:"Cheyenne",chb:"Chibcha",hak:"Chinese (Hakka)",chi_hans:"Chinese (Simplified)",chi_hant:"Chinese (Traditional)",yue:"Chinese, Yue (Cntonese)",chn:"Chinook Wawa (Chinook Pidgin)",chp:"Chipewyan",cho:"Choctaw",chk:"Chuukese",chv:"Chuvash",nwc:"Classical Nepal Bhasa",cop:"Coptic",cor:"Cornish",cos:"Corsican",cre:"Cree",cpe:"Creoles and pidgins (English-based)",cpf:"Creoles and pidgins (French-based)",cpp:"Creoles and pidgins (Portuguese-based)",crh:"Crimean Turkish (Crimean Tatar)",scr:"Croatian",cus:"Cushitic",cze:"Czech",dak:"Dakota",ada:"Dangme (Adangme)",dan:"Danish",dar:"Dargwa",prs:"Dari Persian",gbz:"Dari, Zoroasrian",del:"Delaware",dig:"Digo",din:"Dinka",doi:"Dogri",dgr:"Dogrib",dra:"Dravidian",dua:"Duala",dug:"Duruma",dut:"Dutch",jpr:"Dzhidi (Judeo-Persian)",dzo:"Dzongkha (Bhutani)",bin:"Edo (Bini, Benin)",efi:"Efik",egy:"Egyptian (Ancient)",eka:"Ekajuk",elx:"Elamite",eng:"English",myv:"Erzya",epo:"Esperanto",est:"Estonian",eto:"Eton",ewo:"Ewondo",fan:"Fang",fat:"Fanti",fao:"Faroese",fij:"Fijian",fil:"Filipino (Pilipino)",fin:"Finnish",fiu:"Finno-Ugrian",fon:"Fon",frp:"Franco-Provençal (Arpitan)",fre_ca:"French (Canada)",fre_fr:"French (France)",frs:"Frisian, Easter",frr:"Frisian, Northen",fry:"Frisian, Wester",fur:"Friulian",ful:"Fulah",fvr:"Fur",gaa:"Ga",gla:"Gaelic, Scottih",glg:"Galician",lug:"Ganda (Luganda)",gay:"Gayo",gba:"Gbaya (Central African Republic)",gez:"Geez",geo:"Georgian",ger:"German",gem:"Germanic",kik:"Gikuyu (Kikuyu)",gon:"Gondi",gor:"Gorontalo",got:"Gothic",grb:"Grebo",gre:"Greek",grn:"Guarani",guj:"Gujarati",gwi:"Gwich'in",hai:"Haida",hat:"Haitian Creole",hau:"Hausa",haw:"Hawaiian",heb:"Hebrew",her:"Herero",hil:"Hiligaynon",him:"Himachali",hin:"Hindi",hit:"Hittite",hmn:"Hmong",nan_hok:"Hokkien",hun:"Hungarian",hup:"Hupa",iba:"Iban",ice:"Icelandic",ido:"Ido",ibo:"Igbo",ijo:"Ijo languages",ilo:"Ilocano (Iloko)",inc:"Indic",ine:"Indo-European",ind:"Indonesian",inh:"Ingush",ina:"Interlingua",ile:"Interlingue (Occidental)",iku:"Inuktitut",kal:"Inuktitut, Greenlandic (Kalaallisut)",ipk:"Inupiaq",ira:"Iranian",gle:"Irish",iro:"Iroquoian languages",ita:"Italian",jpn:"Japanese",jav:"Javanese",kac:"Jingpho (Kachin)",jrb:"Judeo-Arabic",dyu:"Jula (Dyula)",kbd:"Kabardian",kab:"Kabyle",kln:"Kalenjin",xal:"Kalmyk-Oirat",kam:"Kamba",xba:"Kamba (Camba)",kan:"Kannada",kau:"Kanuri",krc:"Karachay-Balkar",kaa:"Karakalpak",krl:"Karelian",kar:"Karen languages",kas:"Kashmiri",csb:"Kashubian",kaw:"Kawi",kaz:"Kazakh",kha:"Khasi",khm:"Khmer (Cambodian)",khi:"Khoisan",kho:"Khotanese",khw:"Khowar",kir:"Kirghiz (Kyrgyz)",gil:"Kiribati (Gilbertese)",tlh:"Klingon",kom:"Komi",kon:"Kongo",kok:"Konkani",kor:"Korean",kos:"Kosraean",kpe:"Kpelle",kro:"Kru languages",kdi:"Kumam",kum:"Kumyk",kur:"Kurdish",kmr:"Kurmanji",kru:"Kurux (Kurukh)",kut:"Kutenai",kua:"Kwanyama (Kuanyama)",lad:"Ladino",lah:"Lahnda",lam:"Lamba",day:"Land Dayak languages",laj:"Lango (Uganda)",lao:"Lao",lat:"Latin",lav:"Latvian",lez:"Lezgi (Lezghian)",lim:"Limburgisch (Limburgs Plat)",lin:"Lingala",lit:"Lithuanian",jbo:"Lojban",loz:"Lozi",lua:"Luba-Kasai (Luba-Lulua)",lub:"Luba-Katanga",lui:"Luiseño",lun:"Lunda",luo:"Luo (Dholuo/Nilotic Kavirondo)",ltz:"Luxembourgish (Letzeburgisch)",luy:"Luyia (Luluyia/Luhya)",mas:"Maasai",mac:"Macedonian",grg:"Madi",mad:"Madura (Madurese)",mag:"Magahi",mai:"Maithili",mak:"Makasar",mlg:"Malagasy",may:"Malay",mal:"Malayalam",div:"Maldivian (Divehi)",mlt:"Maltese",mnc:"Manchu",mdr:"Mandar",man:"Mandingo",mlq:"Maninkakan, Western (Malinka)",mno:"Manobo languages",glv:"Manx (Manx Gaelic)",mao:"Maori",arn:"Mapudungun (Mapuche)",mar:"Marathi",chm:"Mari",mah:"Marshallese",mwr:"Marwari",myx:"Masaba (Lugisu)",myn:"Mayan languages",kmb:"Mbundu (Kimbundu)",mni:"Meitei (Manipuri)",men:"Mende",mic:"Micmac (Mi'kmaq)",mga:"Middle Irish",min:"Minangkabau",mwl:"Miranda do Douro (Mirandese)",lus:"Mizo (Lushai)",moh:"Mohawk",mdf:"Moksha",mol:"Moldavian",mkh:"Mon-Khmer",lol:"Mongo-Nkundu (Mongo)",mon:"Mongolian",hmo:"Motu, Hiri",mul:"Multiple languages",mun:"Munda languages",mus:"Muskogee (Creek)",miq:"MÃskito",mos:"Mòoré (Mossi)",nqo:"N'Ko",nah:"Nahuatl languages",nap:"Napoletano-Calabrese",nau:"Nauruan",nav:"Navajo (Navaho)",nde:"Ndebele (Ndebele Northern)",nbl:"Ndebele (Nrebele)",ndo:"Ndonga",nep:"Nepali","new":"Newar (Nepal Bhasa/Newari)",nia:"Nias",nic:"Niger-Kordofanian",ssa:"Nilo-Saharan languages",niu:"Niue (Niuean)",zxx:"No linguistic content",nog:"Nogai",nai:"North American Indian",qvz:"Northern Pastaza Quichua",nor:"Norwegian",nob:"Norwegian, (Bokmaal)",nno:"Norwegian, Nynorsk",nub:"Nubian languages",nus:"Nuer",nym:"Nyamwezi",nya:"Nyanja (Chinyanja/Chewa)",nyn:"Nyankore (Nyankole)",nyo:"Nyoro (Runyoro)",nzi:"Nzima",oci:"Occitan",oji:"Ojibwa",oki:"Okiek (Akiek)",lul:"Olu'bo (Lulu`Bo/Luluba/Lulubo)",ori:"Oriya",orm:"Oromo",osa:"Osage",oss:"Osetin (Ossete/Ossetian)",oto:"Otomian languages",pal:"Pahlavi",pau:"Palauan",pli:"Pali",pam:"Pampangan (Pampango)",pag:"Pangasinan",pan:"Panjabi (Punjabi)",pmu:"Panjabi, Mirpur",pap:"Papiamentu (Papiamento)",paa:"Papuan (Other)",pst:"Pashto, Central (Mahsudi)",per:"Persian (Farsi)",phi:"Philippine",phn:"Phoenician",pcm:"Pidgin, Nigerian (Nigerian Pidgin English)",pon:"Pohnpeian",pol:"Polish",por_br:"Portuguese (Brazil)",por_pt:"Portuguese (Portugal)",pra:"Prakrit languages",pro:"Provençl",pus:"Pushto",que:"Quechua",raj:"Rajasthani",rap:"Rapa Nui",rar:"Rarotongan",roa:"Romance",rum:"Romanian",rup:"Romanian, Macedo (Aromanian)",roh:"Romansch",rom:"Romany",run:"Rundi (Kirundi)",rus:"Russian",kin:"Rwanda (Kinyarwanda)",sms:"Saami, Skolt",smn:"Saami, South",sal:"Salishan languages",sam:"Samaritan Aramaic",smi:"Sami languages",smj:"Sami, Lule",sme:"Sami, Northern",sma:"Sami,Southern",smo:"Samoan",sad:"Sandawe",sag:"Sango",san:"Sanskrit",sat:"Santali",srd:"Sardinian",sas:"Sasak",gsw:"Schwyzerdtsch (Alemannisch, Swiss German)",sco:"Scots",sel:"Selkup",sem:"Semitic",scc:"Serbian",hbs:"Serbo-Croatian",srr:"Serer-Sine (Serer)",shn:"Shan",eng_shaw:"Shavian (English)",qac:"Sheng",sna:"Shona",jiv:"Shuar",scn:"Sicilian",sid:"Sidamo",sgn:"Sign Languages",snd:"Sindhi",sin:"Sinhala (Sinhalese)",sit:"Sino-Tibetan languages",sio:"Siouan languages",den:"Slave (Slavey, Athapascan)",sla:"Slavic",chu:"Slavonic, Old Church",slo:"Slovak",slv:"Slovenian",xog:"Soga (Lusoga)",sog:"Sogdian",som:"Somali",son:"Songhai languages",snk:"Soninke",ckb:"Soranî",wen:"Sorbian languages",dsb:"Sorbian, Lower",hsb:"Sorbian, Upper",nso:"Sotho, Northern (Pedi)",sot:"Sotho, Southern",sai:"South American Indian",spa:"Spanish",spa_la:"Spanish (Latin America)",srn:"Sranan (Sranan Tongo)",suk:"Sukuma",sux:"Sumerian",sun:"Sunda (Sundanese)",sus:"Susu",swa:"Swahili",ssw:"Swati",swe:"Swedish",syr:"Syriac",tgl:"Tagalog",tah:"Tahitian",tai:"Tai",tnq:"Taino",tgk:"Tajiki (Tajik)",tmh:"Tamashek",tia:"Tamazight, Tidikelt",tam:"Tamil",tat:"Tatar",tel:"Telugu",ter:"Terana",teo:"Teso (Ateso/Iteso)",tet:"Tetun (Tetum)",tha:"Thai",tem:"Themne (Timne)",tib:"Tibetan",tig:"Tigre",tir:"Tigrigna (Tigrinya)",tiv:"Tiv",tli:"Tlingit (Tlingit)",tpi:"Tok Pisin",tkl:"Tokelauan (Tokelau)",toh:"Tonga (Bitonga)",tog:"Tonga (Chitonga)",ton:"Tongan (Tonga)",tsi:"Tsimshian",tso:"Tsonga",tsn:"Tswana",tum:"Tumbuka",tup:"Tupi languages",tpn:"Tupinamba",tur:"Turkish",tuk:"Turkmen",tvl:"Tuvaluan (Tuvalu)",tyv:"Tuvin (Tuva)",twi:"Twi",udm:"Udmurt",uga:"Ugaritic",ukr:"Ukrainian",umb:"Umbundu",mis:"Uncoded languages",und:"Undetermined",urd:"Urdu",uig:"Uyghur (Uighur)",uzb:"Uzbek",vai:"Vai",ven:"Venda",vie:"Vietnamese",vls:"Vlaams (Flemish)",vot:"Vod (Votic)",vol:"Volapak",wak:"Wakashan languages",wln:"Walloon",war:"Waray-Waray",was:"Washo",wel:"Welsh",wal:"Wolaytta (Wallamo)",wol:"Wolof",xho:"Xhosa",sah:"Yakut",yao:"Yao",yap:"Yapese",iii:"Yi, Sichuan",yid:"Yiddish",yor:"Yoruba",ypk:"Yupik languages",znd:"Zande languages",zap:"Zapotec",zza:"Zaza (Dimili/Dimli/Kirdki/Kirmanjki/Zazaki)",zen:"Zenaga",zha:"Zhuang (Chuang)",zul:"Zulu",zun:"Zuni"};