forked from emeryberger/CSrankings
-
Notifications
You must be signed in to change notification settings - Fork 0
/
csrankings.min.js
94 lines (94 loc) · 40.6 KB
/
csrankings.min.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,d){a!=Array.prototype&&a!=Object.prototype&&(a[b]=d.value)};$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX="jscomp_symbol_";
$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.Symbol=function(){var a=0;return function(b){return $jscomp.SYMBOL_PREFIX+(b||"")+a++}}();
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var a=$jscomp.global.Symbol.iterator;a||(a=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&$jscomp.defineProperty(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(a){var b=0;return $jscomp.iteratorPrototype(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})};
$jscomp.iteratorPrototype=function(a){$jscomp.initSymbolIterator();a={next:a};a[$jscomp.global.Symbol.iterator]=function(){return this};return a};$jscomp.makeIterator=function(a){$jscomp.initSymbolIterator();$jscomp.initSymbol();$jscomp.initSymbolIterator();var b=a[Symbol.iterator];return b?b.call(a):$jscomp.arrayIterator(a)};$jscomp.underscoreProtoCanBeSet=function(){var a={a:!0},b={};try{return b.__proto__=a,b.a}catch(d){}return!1};
$jscomp.setPrototypeOf="function"==typeof Object.setPrototypeOf?Object.setPrototypeOf:$jscomp.underscoreProtoCanBeSet()?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null;$jscomp.generator={};$jscomp.generator.ensureIteratorResultIsObject_=function(a){if(!(a instanceof Object))throw new TypeError("Iterator result "+a+" is not an object");};
$jscomp.generator.Context=function(){this.isRunning_=!1;this.yieldAllIterator_=null;this.yieldResult=void 0;this.nextAddress=1;this.finallyAddress_=this.catchAddress_=0;this.finallyContexts_=this.abruptCompletion_=null};$jscomp.generator.Context.prototype.start_=function(){if(this.isRunning_)throw new TypeError("Generator is already running");this.isRunning_=!0};$jscomp.generator.Context.prototype.stop_=function(){this.isRunning_=!1};
$jscomp.generator.Context.prototype.jumpToErrorHandler_=function(){this.nextAddress=this.catchAddress_||this.finallyAddress_};$jscomp.generator.Context.prototype.next_=function(a){this.yieldResult=a};$jscomp.generator.Context.prototype.throw_=function(a){this.abruptCompletion_={exception:a,isException:!0};this.jumpToErrorHandler_()};$jscomp.generator.Context.prototype.return=function(a){this.abruptCompletion_={return:a};this.nextAddress=this.finallyAddress_};
$jscomp.generator.Context.prototype.jumpThroughFinallyBlocks=function(a){this.abruptCompletion_={jumpTo:a};this.nextAddress=this.finallyAddress_};$jscomp.generator.Context.prototype.yield=function(a,b){this.nextAddress=b;return{value:a}};$jscomp.generator.Context.prototype.yieldAll=function(a,b){a=$jscomp.makeIterator(a);var d=a.next();$jscomp.generator.ensureIteratorResultIsObject_(d);if(d.done)this.yieldResult=d.value,this.nextAddress=b;else return this.yieldAllIterator_=a,this.yield(d.value,b)};
$jscomp.generator.Context.prototype.jumpTo=function(a){this.nextAddress=a};$jscomp.generator.Context.prototype.jumpToEnd=function(){this.nextAddress=0};$jscomp.generator.Context.prototype.setCatchFinallyBlocks=function(a,b){this.catchAddress_=a;void 0!=b&&(this.finallyAddress_=b)};$jscomp.generator.Context.prototype.setFinallyBlock=function(a){this.catchAddress_=0;this.finallyAddress_=a||0};$jscomp.generator.Context.prototype.leaveTryBlock=function(a,b){this.nextAddress=a;this.catchAddress_=b||0};
$jscomp.generator.Context.prototype.enterCatchBlock=function(a){this.catchAddress_=a||0;a=this.abruptCompletion_.exception;this.abruptCompletion_=null;return a};$jscomp.generator.Context.prototype.enterFinallyBlock=function(a,b,d){d?this.finallyContexts_[d]=this.abruptCompletion_:this.finallyContexts_=[this.abruptCompletion_];this.catchAddress_=a||0;this.finallyAddress_=b||0};
$jscomp.generator.Context.prototype.leaveFinallyBlock=function(a,b){b=this.finallyContexts_.splice(b||0)[0];if(b=this.abruptCompletion_=this.abruptCompletion_||b){if(b.isException)return this.jumpToErrorHandler_();void 0!=b.jumpTo&&this.finallyAddress_<b.jumpTo?(this.nextAddress=b.jumpTo,this.abruptCompletion_=null):this.nextAddress=this.finallyAddress_}else this.nextAddress=a};$jscomp.generator.Context.prototype.forIn=function(a){return new $jscomp.generator.Context.PropertyIterator(a)};
$jscomp.generator.Context.PropertyIterator=function(a){this.object_=a;this.properties_=[];for(var b in a)this.properties_.push(b);this.properties_.reverse()};$jscomp.generator.Context.PropertyIterator.prototype.getNext=function(){for(;0<this.properties_.length;){var a=this.properties_.pop();if(a in this.object_)return a}return null};$jscomp.generator.Engine_=function(a){this.context_=new $jscomp.generator.Context;this.program_=a};
$jscomp.generator.Engine_.prototype.next_=function(a){this.context_.start_();if(this.context_.yieldAllIterator_)return this.yieldAllStep_(this.context_.yieldAllIterator_.next,a,this.context_.next_);this.context_.next_(a);return this.nextStep_()};
$jscomp.generator.Engine_.prototype.return_=function(a){this.context_.start_();var b=this.context_.yieldAllIterator_;if(b)return this.yieldAllStep_("return"in b?b["return"]:function(a){return{value:a,done:!0}},a,this.context_.return);this.context_.return(a);return this.nextStep_()};
$jscomp.generator.Engine_.prototype.throw_=function(a){this.context_.start_();if(this.context_.yieldAllIterator_)return this.yieldAllStep_(this.context_.yieldAllIterator_["throw"],a,this.context_.next_);this.context_.throw_(a);return this.nextStep_()};
$jscomp.generator.Engine_.prototype.yieldAllStep_=function(a,b,d){try{var c=a.call(this.context_.yieldAllIterator_,b);$jscomp.generator.ensureIteratorResultIsObject_(c);if(!c.done)return this.context_.stop_(),c;var e=c.value}catch(f){return this.context_.yieldAllIterator_=null,this.context_.throw_(f),this.nextStep_()}this.context_.yieldAllIterator_=null;d.call(this.context_,e);return this.nextStep_()};
$jscomp.generator.Engine_.prototype.nextStep_=function(){for(;this.context_.nextAddress;)try{var a=this.program_(this.context_);if(a)return this.context_.stop_(),{value:a.value,done:!1}}catch(b){this.context_.yieldResult=void 0,this.context_.throw_(b)}this.context_.stop_();if(this.context_.abruptCompletion_){a=this.context_.abruptCompletion_;this.context_.abruptCompletion_=null;if(a.isException)throw a.exception;return{value:a.return,done:!0}}return{value:void 0,done:!0}};
$jscomp.generator.Generator_=function(a){this.next=function(b){return a.next_(b)};this.throw=function(b){return a.throw_(b)};this.return=function(b){return a.return_(b)};$jscomp.initSymbolIterator();$jscomp.initSymbol();$jscomp.initSymbolIterator();this[Symbol.iterator]=function(){return this}};$jscomp.generator.createGenerator=function(a,b){b=new $jscomp.generator.Generator_(new $jscomp.generator.Engine_(b));$jscomp.setPrototypeOf&&$jscomp.setPrototypeOf(b,a.prototype);return b};
$jscomp.polyfill=function(a,b,d,c){if(b){d=$jscomp.global;a=a.split(".");for(c=0;c<a.length-1;c++){var e=a[c];e in d||(d[e]={});d=d[e]}a=a[a.length-1];c=d[a];b=b(c);b!=c&&null!=b&&$jscomp.defineProperty(d,a,{configurable:!0,writable:!0,value:b})}};$jscomp.FORCE_POLYFILL_PROMISE=!1;
$jscomp.polyfill("Promise",function(a){function b(){this.batch_=null}function d(a){return a instanceof e?a:new e(function(b,c){b(a)})}if(a&&!$jscomp.FORCE_POLYFILL_PROMISE)return a;b.prototype.asyncExecute=function(a){null==this.batch_&&(this.batch_=[],this.asyncExecuteBatch_());this.batch_.push(a);return this};b.prototype.asyncExecuteBatch_=function(){var a=this;this.asyncExecuteFunction(function(){a.executeBatch_()})};var c=$jscomp.global.setTimeout;b.prototype.asyncExecuteFunction=function(a){c(a,
0)};b.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var a=this.batch_;this.batch_=[];for(var b=0;b<a.length;++b){var c=a[b];a[b]=null;try{c()}catch(h){this.asyncThrow_(h)}}}this.batch_=null};b.prototype.asyncThrow_=function(a){this.asyncExecuteFunction(function(){throw a;})};var e=function(a){this.state_=0;this.result_=void 0;this.onSettledCallbacks_=[];var b=this.createResolveAndReject_();try{a(b.resolve,b.reject)}catch(l){b.reject(l)}};e.prototype.createResolveAndReject_=
function(){function a(a){return function(d){c||(c=!0,a.call(b,d))}}var b=this,c=!1;return{resolve:a(this.resolveTo_),reject:a(this.reject_)}};e.prototype.resolveTo_=function(a){if(a===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(a instanceof e)this.settleSameAsPromise_(a);else{a:switch(typeof a){case "object":var b=null!=a;break a;case "function":b=!0;break a;default:b=!1}b?this.resolveToNonPromiseObj_(a):this.fulfill_(a)}};e.prototype.resolveToNonPromiseObj_=function(a){var b=
void 0;try{b=a.then}catch(l){this.reject_(l);return}"function"==typeof b?this.settleSameAsThenable_(b,a):this.fulfill_(a)};e.prototype.reject_=function(a){this.settle_(2,a)};e.prototype.fulfill_=function(a){this.settle_(1,a)};e.prototype.settle_=function(a,b){if(0!=this.state_)throw Error("Cannot settle("+a+", "+b+"): Promise already settled in state"+this.state_);this.state_=a;this.result_=b;this.executeOnSettledCallbacks_()};e.prototype.executeOnSettledCallbacks_=function(){if(null!=this.onSettledCallbacks_){for(var a=
0;a<this.onSettledCallbacks_.length;++a)f.asyncExecute(this.onSettledCallbacks_[a]);this.onSettledCallbacks_=null}};var f=new b;e.prototype.settleSameAsPromise_=function(a){var b=this.createResolveAndReject_();a.callWhenSettled_(b.resolve,b.reject)};e.prototype.settleSameAsThenable_=function(a,b){var c=this.createResolveAndReject_();try{a.call(b,c.resolve,c.reject)}catch(h){c.reject(h)}};e.prototype.then=function(a,b){function c(a,b){return"function"==typeof a?function(b){try{d(a(b))}catch(t){f(t)}}:
b}var d,f,g=new e(function(a,b){d=a;f=b});this.callWhenSettled_(c(a,d),c(b,f));return g};e.prototype.catch=function(a){return this.then(void 0,a)};e.prototype.callWhenSettled_=function(a,b){function c(){switch(d.state_){case 1:a(d.result_);break;case 2:b(d.result_);break;default:throw Error("Unexpected state: "+d.state_);}}var d=this;null==this.onSettledCallbacks_?f.asyncExecute(c):this.onSettledCallbacks_.push(c)};e.resolve=d;e.reject=function(a){return new e(function(b,c){c(a)})};e.race=function(a){return new e(function(b,
c){for(var e=$jscomp.makeIterator(a),f=e.next();!f.done;f=e.next())d(f.value).callWhenSettled_(b,c)})};e.all=function(a){var b=$jscomp.makeIterator(a),c=b.next();return c.done?d([]):new e(function(a,e){function f(b){return function(c){g[b]=c;k--;0==k&&a(g)}}var g=[],k=0;do g.push(void 0),k++,d(c.value).callWhenSettled_(f(g.length-1),e),c=b.next();while(!c.done)})};return e},"es6","es3");
$jscomp.iteratorFromArray=function(a,b){$jscomp.initSymbolIterator();a instanceof String&&(a+="");var d=0,c={next:function(){if(d<a.length){var e=d++;return{value:b(e,a[e]),done:!1}}c.next=function(){return{done:!0,value:void 0}};return c.next()}};c[Symbol.iterator]=function(){return c};return c};$jscomp.polyfill("Array.prototype.keys",function(a){return a?a:function(){return $jscomp.iteratorFromArray(this,function(a){return a})}},"es6","es3");
$jscomp.findInternal=function(a,b,d){a instanceof String&&(a=String(a));for(var c=a.length,e=0;e<c;e++){var f=a[e];if(b.call(d,f,e,a))return{i:e,v:f}}return{i:-1,v:void 0}};$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,d){return $jscomp.findInternal(this,a,d).v}},"es6","es3");
var __awaiter=this&&this.__awaiter||function(a,b,d,c){function e(a){return a instanceof d?a:new d(function(b){b(a)})}return new (d||(d=Promise))(function(d,g){function f(a){try{h(c.next(a))}catch(n){g(n)}}function l(a){try{h(c["throw"](a))}catch(n){g(n)}}function h(a){a.done?d(a.value):e(a.value).then(f,l)}h((c=c.apply(a,b||[])).next())})},CSRankings=function(){var a=this;this.note={};this.authorFile="./csrankings.csv";this.authorinfoFile="./generated-author-info.csv";this.countryinfoFile="./country-info.csv";
this.turingFile="./turing.csv";this.turingImage="./png/acm-turing-award.png";this.acmfellowFile="./acm-fellows.csv";this.acmfellowImage="./png/acm.png";this.homepageImage="./house-logo.png";this.allowRankingChange=!1;this.areaMap=[{area:"ai",title:"AI"},{area:"aaai",title:"AI"},{area:"ijcai",title:"AI"},{area:"vision",title:"Vision"},{area:"cvpr",title:"Vision"},{area:"eccv",title:"Vision"},{area:"iccv",title:"Vision"},{area:"mlmining",title:"ML"},{area:"icml",title:"ML"},{area:"kdd",title:"ML"},
{area:"nips",title:"ML"},{area:"nlp",title:"NLP"},{area:"acl",title:"NLP"},{area:"emnlp",title:"NLP"},{area:"naacl",title:"NLP"},{area:"ir",title:"Web+IR"},{area:"sigir",title:"Web+IR"},{area:"www",title:"Web+IR"},{area:"arch",title:"Arch"},{area:"asplos",title:"Arch"},{area:"isca",title:"Arch"},{area:"micro",title:"Arch"},{area:"hpca",title:"Arch"},{area:"comm",title:"Networks"},{area:"sigcomm",title:"Networks"},{area:"nsdi",title:"Networks"},{area:"sec",title:"Security"},{area:"ccs",title:"Security"},
{area:"oakland",title:"Security"},{area:"usenixsec",title:"Security"},{area:"ndss",title:"Security"},{area:"pets",title:"Security"},{area:"mod",title:"DB"},{area:"sigmod",title:"DB"},{area:"vldb",title:"DB"},{area:"icde",title:"DB"},{area:"pods",title:"DB"},{area:"hpc",title:"HPC"},{area:"sc",title:"HPC"},{area:"hpdc",title:"HPC"},{area:"ics",title:"HPC"},{area:"mobile",title:"Mobile"},{area:"mobicom",title:"Mobile"},{area:"mobisys",title:"Mobile"},{area:"sensys",title:"Mobile"},{area:"metrics",title:"Metrics"},
{area:"imc",title:"Metrics"},{area:"sigmetrics",title:"Metrics"},{area:"ops",title:"OS"},{area:"sosp",title:"OS"},{area:"osdi",title:"OS"},{area:"fast",title:"OS"},{area:"usenixatc",title:"OS"},{area:"eurosys",title:"OS"},{area:"pldi",title:"PL"},{area:"popl",title:"PL"},{area:"icfp",title:"PL"},{area:"oopsla",title:"PL"},{area:"plan",title:"PL"},{area:"soft",title:"SE"},{area:"fse",title:"SE"},{area:"icse",title:"SE"},{area:"ase",title:"SE"},{area:"issta",title:"SE"},{area:"act",title:"Theory"},
{area:"focs",title:"Theory"},{area:"soda",title:"Theory"},{area:"stoc",title:"Theory"},{area:"crypt",title:"Crypto"},{area:"crypto",title:"Crypto"},{area:"eurocrypt",title:"Crypto"},{area:"log",title:"Logic"},{area:"cav",title:"Logic"},{area:"lics",title:"Logic"},{area:"graph",title:"Graphics"},{area:"siggraph",title:"Graphics"},{area:"siggraph-asia",title:"Graphics"},{area:"chi",title:"HCI"},{area:"chiconf",title:"HCI"},{area:"ubicomp",title:"HCI"},{area:"uist",title:"HCI"},{area:"robotics",title:"Robotics"},
{area:"icra",title:"Robotics"},{area:"iros",title:"Robotics"},{area:"rss",title:"Robotics"},{area:"bio",title:"Comp. Bio"},{area:"ismb",title:"Comp. Bio"},{area:"recomb",title:"Comp. Bio"},{area:"da",title:"EDA"},{area:"dac",title:"EDA"},{area:"iccad",title:"EDA"},{area:"bed",title:"Embedded"},{area:"emsoft",title:"Embedded"},{area:"rtas",title:"Embedded"},{area:"rtss",title:"Embedded"},{area:"visualization",title:"Visualization"},{area:"vis",title:"Visualization"},{area:"vr",title:"Visualization"},
{area:"ecom",title:"ECom"},{area:"ec",title:"ECom"},{area:"wine",title:"ECom"}];this.aiAreas=["ai","vision","mlmining","nlp","ir"];this.systemsAreas="arch comm sec mod hpc mobile metrics ops plan soft da bed".split(" ");this.theoryAreas=["act","crypt","log"];this.interdisciplinaryAreas="graph chi robotics bio visualization ecom".split(" ");this.areaNames=[];this.fields=[];this.aiFields=[];this.systemsFields=[];this.theoryFields=[];this.otherFields=[];this.areaDict={};this.areaPosition={};this.scholarInfo=
{};this.aliases={};this.turing={};this.acmfellow={};this.countryInfo={};this.homepages={};this.useDenseRankings=!1;this.authors=[];this.dblpAuthors={};this.authorAreas={};this.stats={};this.areaDeptAdjustedCount={};this.areaStringMap={};this.color="#f30000 #0600f3 #00b109 #14e4b4 #0fe7fb #67f200 #ff7e00 #8fe4fa #ff5300 #640000 #3854d1 #d00ed8 #7890ff #01664d #04231b #e9f117 #f3228e #7ce8ca #ff5300 #ff5300 #7eff30 #9a8cf6 #79aff9 #bfbfbf #56b510 #00e2f6 #ff4141 #61ff41".split(" ");this.RightTriangle=
"►";this.DownTriangle="▼";this.PieChart="<img alt='closed piechart' src='png/piechart.png'>";this.OpenPieChart="<img alt='opened piechart' src='png/piechart-open.png'>";CSRankings.theInstance=this;this.navigoRouter=new Navigo(null,!0);for(var b=0;b<this.areaMap.length;b++){var d=this.areaMap[b],c=d.area;d=d.title;CSRankings.areas[b]=c;c in CSRankings.parentMap||(CSRankings.topLevelAreas[c]=c);c in CSRankings.nextTier||(CSRankings.topTierAreas[c]=c);this.areaNames[b]=d;this.fields[b]=c;
this.areaDict[c]=d;this.areaPosition[c]=b}c=$jscomp.makeIterator(this.aiAreas);for(b=c.next();!b.done;b=c.next())this.aiFields.push(this.areaPosition[b.value]);c=$jscomp.makeIterator(this.systemsAreas);for(b=c.next();!b.done;b=c.next())this.systemsFields.push(this.areaPosition[b.value]);c=$jscomp.makeIterator(this.theoryAreas);for(b=c.next();!b.done;b=c.next())this.theoryFields.push(this.areaPosition[b.value]);c=$jscomp.makeIterator(this.interdisciplinaryAreas);for(b=c.next();!b.done;b=c.next())this.otherFields.push(this.areaPosition[b.value]);
b=0;for(var e in CSRankings.parentMap)c=CSRankings.parentMap[e],c in CSRankings.childMap?CSRankings.childMap[c].push(e):(CSRankings.childMap[c]=[e],CSRankings.parentIndex[c]=b,b+=1);this.displayProgress(1);(function(){return __awaiter(a,void 0,void 0,function g(){var a=this;return $jscomp.generator.createGenerator(g,function(b){switch(b.nextAddress){case 1:return b.yield(a.loadTuring(a.turing),2);case 2:return b.yield(a.loadACMFellow(a.acmfellow),3);case 3:return a.displayProgress(2),b.yield(a.loadAuthorInfo(),
4);case 4:return a.displayProgress(3),b.yield(a.loadAuthors(),5);case 5:return a.setAllOn(),a.navigoRouter.on({"/index":a.navigation,"/fromyear/:fromyear/toyear/:toyear/index":a.navigation}).resolve(),a.displayProgress(4),a.countAuthorAreas(),b.yield(a.loadCountryInfo(a.countryInfo),6);case 6:a.addListeners(),a.rank(),b.jumpToEnd()}})})})()};CSRankings.updateMinimum=function(a){return 500>=CSRankings.minToRank?(a=a.scrollTop,CSRankings.minToRank=5E3,CSRankings.getInstance().rank(),a):0};
CSRankings.getInstance=function(){return CSRankings.theInstance};CSRankings.promise=function(a){"undefined"!==typeof Promise?Promise.resolve().then(a):setTimeout(a,0)};
CSRankings.prototype.translateNameToDBLP=function(a){a=a.replace(/ Jr\./g,"_Jr.");a=a.replace(/ II/g,"_II");a=a.replace(/ III/g,"_III");a=a.replace(/'|\-|\./g,"=");a=a.replace(/\u00c1/g,"=Aacute=");a=a.replace(/\u00e1/g,"=aacute=");a=a.replace(/\u00e8/g,"=egrave=");a=a.replace(/\u00e9/g,"=eacute=");a=a.replace(/\u00ed/g,"=iacute=");a=a.replace(/\u00ef/g,"=iuml=");a=a.replace(/\u00f3/g,"=oacute=");a=a.replace(/\u00e7/g,"=ccedil=");a=a.replace(/\u00e4/g,"=auml=");a=a.replace(/\u00f6/g,"=ouml=");a=a.replace(/\u00f8/g,
"=oslash=");a=a.replace(/\u00d6/g,"=Ouml=");a=a.replace(/\u00fc/g,"=uuml=");a=a.replace(/\u00df/g,"=szlig=");a=a.split(" ");var b=a[a.length-1];0<parseInt(b)&&(a.pop(),b=a[a.length-1]+"_"+b);a.pop();a=a.join(" ");a=a.replace(/\s/g,"_");a=a.replace(/\-/g,"=");return"https://dblp.uni-trier.de/pers/hd"+("/"+b[0].toLowerCase()+"/"+b+":"+a)};CSRankings.prototype.makePrologue=function(){return'<div class="table-responsive" style="overflow:auto; height:700px;"><table class="table table-fit table-sm table-striped"id="ranking" valign="top">'};
CSRankings.sum=function(a){for(var b=0,d=0;d<a.length;d++)b+=a[d];return b};CSRankings.average=function(a){return CSRankings.sum(a)/a.length};CSRankings.stddev=function(a){var b=CSRankings.average(a),d=a.map(function(a){a-=b;return a*a});return Math.sqrt(CSRankings.sum(d)/(a.length-1))};
CSRankings.prototype.areaString=function(a){if(a in this.areaStringMap)return this.areaStringMap[a];if(!this.authorAreas[a])return"";var b={},d=CSRankings.topTierAreas,c=0,e;for(e in d)d=this.authorAreas[a][e],e in CSRankings.parentMap&&(e=this.areaDict[e]),0<d&&(e in b||(b[e]=0),b[e]+=d,c=b[e]>c?b[e]:c);e=[];for(var f in b)e.push(b[f]);f=CSRankings.sum(e);d=0;1<e.length&&(d=Math.ceil(1*CSRankings.stddev(e)));e=[];for(var g in b)b[g]>=c-d&&.2<=1*b[g]/f&&1<b[g]&&e.push(g);c=e.sort(function(a,c){return b[c]-
b[a]}).slice(0,3).join(",");return this.areaStringMap[a]=c};CSRankings.prototype.compareNames=function(a,b){a=a.split(" ");b=b.split(" ");a=a[a.length-1];b=b[b.length-1];return a<b?-1:a>b?1:0};
CSRankings.prototype.makeChart=function(a){var b=[],d={},c=CSRankings.topTierAreas,e=unescape(a),f;for(f in c){if(!(e in this.authorAreas))return;c=this.authorAreas[e][f];c=Math.round(10*c)/10;0<c&&(f in CSRankings.parentMap&&(f=CSRankings.parentMap[f]),f in d||(d[f]=0),d[f]+=c)}for(var g in d)b.push({label:this.areaDict[g],value:Math.round(10*d[g])/10,color:this.color[CSRankings.parentIndex[g]]});new d3pie(a+"-chart",{header:{title:{text:e,fontSize:24,font:"open sans"},subtitle:{text:"Publication Profile",
color:"#999999",fontSize:14,font:"open sans"},titleSubtitlePadding:9},size:{canvasHeight:500,canvasWidth:500,pieInnerRadius:"38%",pieOuterRadius:"83%"},data:{content:b,smallSegmentGrouping:{enabled:!0,value:1}},labels:{outer:{pieDistance:32},inner:{format:"value",hideWhenLessThanPercentage:5},mainLabel:{fontSize:10.5},percentage:{color:"#ffffff",decimalPlaces:0},value:{color:"#ffffff",fontSize:10},lines:{enabled:!0},truncation:{enabled:!0}},effects:{load:{effect:"none"},pullOutSegmentOnClick:{effect:"linear",
speed:400,size:8}},misc:{gradient:{enabled:!0,percentage:100}}})};CSRankings.prototype.displayProgress=function(a){var b="",d=1;["Initializing.","Loading author information.","Loading publication data.","Computing ranking."].map(function(c){b=d==a?b+("<strong>"+c+"</strong>"):b+("<font color='gray'>"+c+"</font>");b+="<br />";d+=1});$("#progress").html(b)};
CSRankings.prototype.loadTuring=function(a){return __awaiter(this,void 0,void 0,function d(){var c=this,e,f,g,k,l,h;return $jscomp.generator.createGenerator(d,function(d){if(1==d.nextAddress)return e=c,d.yield(new Promise(function(a){Papa.parse(e.turingFile,{header:!0,download:!0,complete:function(c){a(c.data)}})}),2);g=f=d.yieldResult;k=$jscomp.makeIterator(g);for(l=k.next();!l.done;l=k.next())h=l.value,a[h.name]=h.year;d.jumpToEnd()})})};
CSRankings.prototype.loadACMFellow=function(a){return __awaiter(this,void 0,void 0,function d(){var c=this,e,f,g,k,l,h;return $jscomp.generator.createGenerator(d,function(d){if(1==d.nextAddress)return e=c,d.yield(new Promise(function(a){Papa.parse(e.acmfellowFile,{header:!0,download:!0,complete:function(c){a(c.data)}})}),2);g=f=d.yieldResult;k=$jscomp.makeIterator(g);for(l=k.next();!l.done;l=k.next())h=l.value,a[h.name]=h.year;d.jumpToEnd()})})};
CSRankings.prototype.loadCountryInfo=function(a){return __awaiter(this,void 0,void 0,function d(){var c=this,e,f,g,k,l,h;return $jscomp.generator.createGenerator(d,function(d){if(1==d.nextAddress)return e=c,d.yield(new Promise(function(a){Papa.parse(e.countryinfoFile,{header:!0,download:!0,complete:function(c){a(c.data)}})}),2);g=f=d.yieldResult;k=$jscomp.makeIterator(g);for(l=k.next();!l.done;l=k.next())h=l.value,a[h.institution]=h.region;d.jumpToEnd()})})};
CSRankings.prototype.loadAuthorInfo=function(){return __awaiter(this,void 0,void 0,function b(){var d=this,c,e,f,g,k,l,h;return $jscomp.generator.createGenerator(b,function(b){if(1==b.nextAddress)return c=d,b.yield(new Promise(function(b){Papa.parse(c.authorFile,{download:!0,header:!0,complete:function(c){b(c.data)}})}),2);f=e=b.yieldResult;for(g=0;g<f.length;g++){k=f[g];l=k.name.trim();if(h=l.match(CSRankings.nameMatcher))l=h[1].trim(),d.note[l]=h[2];""!==l&&(d.dblpAuthors[l]=d.translateNameToDBLP(l),
d.homepages[l]=k.homepage,d.scholarInfo[l]=k.scholarid)}b.jumpToEnd()})})};CSRankings.prototype.loadAuthors=function(){return __awaiter(this,void 0,void 0,function b(){var d=this,c,e;return $jscomp.generator.createGenerator(b,function(b){if(1==b.nextAddress)return c=d,b.yield(new Promise(function(b){Papa.parse(c.authorinfoFile,{download:!0,header:!0,complete:function(c){b(c.data)}})}),2);e=b.yieldResult;d.authors=e;b.jumpToEnd()})})};
CSRankings.prototype.inRegion=function(a,b){switch(b){case "USA":if(a in this.countryInfo)return!1;break;case "europe":if(!(a in this.countryInfo)||"europe"!=this.countryInfo[a])return!1;break;case "canada":if(!(a in this.countryInfo)||"canada"!=this.countryInfo[a])return!1;break;case "northamerica":if(a in this.countryInfo&&"canada"!=this.countryInfo[a])return!1;break;case "australasia":if(!(a in this.countryInfo)||"australasia"!=this.countryInfo[a])return!1;break;case "southamerica":if(!(a in this.countryInfo)||
"southamerica"!=this.countryInfo[a])return!1;break;case "asia":if(!(a in this.countryInfo)||"asia"!=this.countryInfo[a])return!1;break;case "africa":if(!(a in this.countryInfo)||"africa"!=this.countryInfo[a])return!1}return!0};
CSRankings.prototype.activateFields=function(a,b){for(var d=0;d<b.length;d++){var c=this.fields[b[d]],e="input[name="+c+"]";$(e).prop("checked",a);c in CSRankings.childMap&&($(e).prop("disabled",!1),CSRankings.childMap[c].forEach(function(b){var c="input[name="+b+"]";b in CSRankings.nextTier?$(c).prop("checked",!1):$(c).prop("checked",a)}))}this.rank();return!1};CSRankings.prototype.sortIndex=function(a){var b=Object.keys(a);b.sort(function(b,c){return a[b]!=a[c]?a[c]-a[b]:b<c?-1:c<b?1:0});return b};
CSRankings.prototype.countAuthorAreas=function(){var a=parseInt($("#fromyear").find(":selected").text()),b=parseInt($("#toyear").find(":selected").text());this.authorAreas={};for(var d in this.authors){var c=this.authors[d].area;if(!(c in CSRankings.nextTier)){var e=this.authors[d].year;if(!(e<a||e>b)){var f=this.authors[d];e=f.name;var g=f.dept;f=parseFloat(f.count);if(!(e in this.authorAreas)){this.authorAreas[e]={};for(var k in this.areaDict)this.areaDict.hasOwnProperty(k)&&(this.authorAreas[e][k]=
0)}if(!(g in this.authorAreas)){this.authorAreas[g]={};for(var l in this.areaDict)this.areaDict.hasOwnProperty(l)&&(this.authorAreas[g][l]=0)}this.authorAreas[e][c]+=f;this.authorAreas[g][c]+=f}}}};
CSRankings.prototype.buildDepartments=function(a,b,d,c,e,f,g,k){var l={},h;for(h in this.authors)if(this.authors.hasOwnProperty(h)){var m=this.authors[h],n=m.dept;if(this.inRegion(n,c)){var p=m.area;if(0!==d[p]){var q=m.year;if(!(q<a||q>b)&&"undefined"!==typeof n){m=m.name;p in CSRankings.parentMap&&(p=CSRankings.parentMap[p]);p+=n;p in this.areaDeptAdjustedCount||(this.areaDeptAdjustedCount[p]=0);q=parseInt(this.authors[h].count);var r=parseFloat(this.authors[h].adjustedcount);this.areaDeptAdjustedCount[p]+=
r;m in l||(l[m]=!0,g[m]=0,k[m]=0,n in e||(e[n]=0,f[n]=[]),f[n].push(m),e[n]+=1);g[m]+=q;k[m]+=r}}}}};CSRankings.prototype.computeStats=function(a,b,d){this.stats={};for(var c in a)if(a.hasOwnProperty(c)){this.stats[c]=1;for(var e in CSRankings.topLevelAreas){var f=e+c;f in this.areaDeptAdjustedCount||(this.areaDeptAdjustedCount[f]=0);0!=d[e]&&(this.stats[c]*=this.areaDeptAdjustedCount[f]+1)}this.stats[c]=Math.pow(this.stats[c],1/b)}};
CSRankings.prototype.updateWeights=function(a){for(var b=0,d=0;d<CSRankings.areas.length;d++){var c=CSRankings.areas[d];a[c]=$("input[name="+this.fields[d]+"]").prop("checked")?1:0;1!==a[c]||c in CSRankings.parentMap||b++}return b};
CSRankings.prototype.buildDropDown=function(a,b,d){var c=this,e={},f={},g;for(g in a){if(a.hasOwnProperty(g)){var k='<div class="table"><table class="table table-sm table-striped"><thead><th></th><td><small><em><abbr title="Click on an author\'s name to go to their home page.">Faculty</abbr></em></small></td><td align="right"><small><em> <abbr title="Total number of publications (click for DBLP entry)."># Pubs</abbr> </em></small></td><td align="right"><small><em><abbr title="Count divided by number of co-authors">Adj. #</abbr></em></small></td></thead><tbody>';f.fc=
{};for(var l=$jscomp.makeIterator(a[g]),h=l.next();!h.done;h=l.next())h=h.value,f.fc[h]=b[h];l=Object.keys(f.fc);l.sort(function(a){return function(b,d){return a.fc[d]===a.fc[b]?c.compareNames(b,d):a.fc[d]-a.fc[b]}}(f));l=$jscomp.makeIterator(l);for(h=l.next();!h.done;h=l.next()){h=h.value;var m=encodeURI(this.homepages[h]),n=this.dblpAuthors[h];k+='<tr><td> </td><td><small><a title="Click for author\'s home page." target="_blank" href="'+m+'" onclick="trackOutboundLink(\''+
m+"', true); return false;\">"+h+"</a> ";this.note.hasOwnProperty(h)&&(k+='<span class="note" title="Note">['+('<a href="'+CSRankings.noteMap[this.note[h]]+'">')+this.note[h]+"</a>]</span> ");this.acmfellow.hasOwnProperty(h)&&(k+='<span title="ACM Fellow"><img alt="ACM Fellow" src="'+this.acmfellowImage+'"></span> ');this.turing.hasOwnProperty(h)&&(k+='<span title="Turing Award"><img alt="Turing Award" src="'+this.turingImage+'"></span> ');k+='<span class="areaname">'+this.areaString(h).toLowerCase()+
"</span> ";k+='<a title="Click for author\'s home page." target="_blank" href="'+m+'" onclick="trackOutboundLink(\''+m+'\', true); return false;"><img alt="Home page" src="'+this.homepageImage+'"></a> ';this.scholarInfo.hasOwnProperty(h)&&"NOSCHOLARPAGE"!=this.scholarInfo[h]&&(m="https://scholar.google.com/citations?user="+this.scholarInfo[h]+"&hl=en&oi=ao",k+='<a title="Click for author\'s Google Scholar page." target="_blank" href="'+m+'" onclick="trackOutboundLink(\''+m+'\', true); return false;"><img alt="Google Scholar" src="scholar-favicon.ico" height="10" width="10"></a> ');
k+='<a title="Click for author\'s DBLP entry." target="_blank" href="'+n+'" onclick="trackOutboundLink(\''+n+"', true); return false;\">";k+='<img alt="DBLP" src="dblp.png"></a>';k+="<span onclick='csr.toggleChart(\""+escape(h)+'");\' title="Click for author\'s publication profile." class="hovertip" id="'+(escape(h)+"-chartwidget")+'">';k+="<span class='piechart'>"+this.PieChart+'</span></span></small></td><td align="right"><small><a title="Click for author\'s DBLP entry." target="_blank" href="'+
n+'" onclick="trackOutboundLink(\''+n+"', true); return false;\">"+f.fc[h]+'</a></small></td><td align="right"><small>'+(Math.round(10*d[h])/10).toFixed(1)+'</small></td></tr><tr><td colspan="4"><div class="csr-piechart" id="'+escape(h)+'-chart"></div></td></tr>'}k+="</tbody></table></div>";e[g]=k}f={fc:f.fc}}return e};
CSRankings.prototype.buildOutputString=function(a,b,d,c){var e=this.makePrologue();e+='<thead><tr><th align="left"><font color="#777">#</font></th><th align="left"><font color="#777">Institution</font></th><th align="right"><abbr title="Geometric mean count of papers published across all areas."><font color="#777">Count</font></abbr></th><th align="right"> <abbr title="Number of faculty who have published in these areas."><font color="#777">Faculty</font></abbr></th></th></tr></thead><tbody>';if(0<
a){a=1;var f=0,g=9999999.999;for(k in this.stats)this.stats[k]=Math.round(10*this.stats[k])/10;var k=this.sortIndex(this.stats);for(var l=0;l<k.length;l++){var h=k[l],m=this.stats[h];if(l>=c&&m!=g)break;if(0===m)break;g!=m&&(this.useDenseRankings?f+=1:(f+=a,a=0));g=escape(h);e+="\n<tr><td>"+f+" </td>";e+='<td><span class="hovertip" onclick="csr.toggleFaculty(\''+g+'\');" id="'+g+'-widget">'+this.RightTriangle+"</span>";e+=" "+h+' <span class="hovertip" onclick="csr.toggleChart(\''+
g+'\');" id="'+g+'-chartwidget">'+this.PieChart+"</span>";e+="</td>";e+='<td align="right">'+(Math.round(10*m)/10).toFixed(1)+"</td>";e+='<td align="right">'+b[h];e+="</td>";e+="</tr>\n";e+='<tr><td colspan="4"><div class="csr-piechart" id="'+g+'-chart"></div></td></tr>';e+='<tr><td colspan="4"><div style="display:none;" id="'+g+'-faculty">'+d[h]+"</div></td></tr>";a++;g=m}e+="</tbody></table><br /></div></div>\n<br></body></html>"}else e="<h3>Please select at least one area by clicking one or more checkboxes.</h3>";
return e};CSRankings.prototype.setAllOn=function(a){a=void 0===a?!0:a;for(var b=0;b<CSRankings.areas.length;b++){var d=this.fields[b],c="input[name="+d+"]";a?d in CSRankings.nextTier?$(c).prop("checked",!1):($(c).prop("checked",!0),$(c).prop("disabled",!1)):($(c).prop("checked",!1),$(c).prop("disabled",!1))}};
CSRankings.prototype.rank=function(a){a=void 0===a?!0:a;var b=performance.now(),d={},c={},e={},f={},g={};this.areaDeptAdjustedCount={};var k=parseInt($("#fromyear").find(":selected").text()),l=parseInt($("#toyear").find(":selected").text()),h=String($("#regions").find(":selected").val()),m=this.updateWeights(g);this.buildDepartments(k,l,g,h,c,d,e,f);this.computeStats(d,m,g);d=this.buildDropDown(d,e,f);c=this.buildOutputString(m,c,d,CSRankings.minToRank);m=performance.now();console.log("Before render: rank took "+
(m-b)+" milliseconds.");$("#success").html(c);$("div").scroll(function(){if(this.scrollTop+this.clientHeight>this.scrollHeight-50){var a=CSRankings.updateMinimum(this);a&&$("div").scrollTop(a)}});a?this.navigoRouter.resume():this.navigoRouter.pause();a=this.updatedURL();this.navigoRouter.navigate(a);m=performance.now();console.log("Rank took "+(m-b)+" milliseconds.");return!1};
CSRankings.prototype.toggleChart=function(a){var b=document.getElementById(a+"-chart"),d=document.getElementById(a+"-chartwidget");"block"===b.style.display?(b.style.display="none",b.innerHTML="",d.innerHTML=this.PieChart):(b.style.display="block",this.makeChart(a),d.innerHTML=this.OpenPieChart)};
CSRankings.prototype.toggleConferences=function(a){var b=document.getElementById(a+"-conferences");a=document.getElementById(a+"-widget");"block"===b.style.display?(b.style.display="none",a.innerHTML=this.RightTriangle):(b.style.display="block",a.innerHTML=this.DownTriangle)};
CSRankings.prototype.toggleFaculty=function(a){var b=document.getElementById(a+"-faculty");a=document.getElementById(a+"-widget");"block"===b.style.display?(b.style.display="none",a.innerHTML=this.RightTriangle):(b.style.display="block",a.innerHTML=this.DownTriangle)};CSRankings.prototype.activateAll=function(a){this.setAllOn(void 0===a?!0:a);this.rank();return!1};CSRankings.prototype.activateNone=function(){return this.activateAll(!1)};
CSRankings.prototype.activateSystems=function(a){return this.activateFields(void 0===a?!0:a,this.systemsFields)};CSRankings.prototype.activateAI=function(a){return this.activateFields(void 0===a?!0:a,this.aiFields)};CSRankings.prototype.activateTheory=function(a){return this.activateFields(void 0===a?!0:a,this.theoryFields)};CSRankings.prototype.activateOthers=function(a){return this.activateFields(void 0===a?!0:a,this.otherFields)};CSRankings.prototype.deactivateSystems=function(){return this.activateSystems(!1)};
CSRankings.prototype.deactivateAI=function(){return this.activateAI(!1)};CSRankings.prototype.deactivateTheory=function(){return this.activateTheory(!1)};CSRankings.prototype.deactivateOthers=function(){return this.activateOthers(!1)};
CSRankings.prototype.updatedURL=function(){for(var a="",b=0,d=0,c={},e=0;e<this.fields.length;c={allChecked:c.allChecked},e++){var f="input[name="+this.fields[e]+"]";this.fields[e]in CSRankings.parentMap||(d+=1);!$(f).prop("checked")||this.fields[e]in CSRankings.parentMap||(c.allChecked=1,this.fields[e]in CSRankings.childMap&&CSRankings.childMap[this.fields[e]].forEach(function(a){return function(b){var c=$("input[name="+b+"]").prop("checked");a.allChecked=b in CSRankings.nextTier?a.allChecked&(c?
0:1):a.allChecked&c}}(c)),c.allChecked&&(a+=this.fields[e]+"&",b+=1))}0<b&&(a=a.slice(0,-1));c=$("#regions").find(":selected").val();e="";f=(new Date).getFullYear();var g=parseInt($("#fromyear").find(":selected").text()),k=parseInt($("#toyear").find(":selected").text());if(g!=f-10||k!=f)e+="/fromyear/"+g.toString(),e+="/toyear/"+k.toString();e=b==d?e+"/index?all":0==b?e+"/index?none":e+("/index?"+a);"USA"!=c&&(e+="&"+c);return e};
CSRankings.prototype.navigation=function(a,b){null!==a&&Object.keys(a).forEach(function(b){$("#"+b).prop("value",a[b].toString())});CSRankings.clearNonSubsetted();var d=b.split("&");b=d.some(function(a){return"all"==a});var c=d.some(function(a){return"none"==a});if(d.some(function(a){return 0<=CSRankings.regions.indexOf(a)})){var e=0;d.forEach(function(a){0<=CSRankings.regions.indexOf(a)&&d.splice(e,1);$("#regions").val(a);e+=1})}if(b)for(var f in CSRankings.topTierAreas)b="input[name="+f+"]",$(b).prop("checked",
!0),f in CSRankings.childMap&&($(b).prop("disabled",!1),CSRankings.childMap[f].forEach(function(a){a in CSRankings.nextTier||$("input[name="+a+"]").prop("checked",!0)}));else if(c)CSRankings.clearNonSubsetted();else for(CSRankings.clearNonSubsetted(),f=$jscomp.makeIterator(d),b=f.next();!b.done;b=f.next())b=b.value,"none"!=b&&""!=b&&(c="input[name="+b+"]",$(c).prop("checked",!0),$(c).prop("disabled",!1),b in CSRankings.childMap&&CSRankings.childMap[b].forEach(function(a){a in CSRankings.nextTier||
$("input[name="+a+"]").prop("checked",!0)}))};CSRankings.clearNonSubsetted=function(){for(var a=$jscomp.makeIterator(CSRankings.areas),b=a.next();!b.done;b=a.next()){var d=b.value;d in CSRankings.childMap&&(b=CSRankings.childMap[d],CSRankings.subsetting(b)||(d="input[name="+d+"]",$(d).prop("checked",!1),$(d).prop("disabled",!1),b.forEach(function(a){$("input[name="+a+"]").prop("checked",!1)})))}};
CSRankings.subsetting=function(a){var b=[],d=[];a.forEach(function(a){a in CSRankings.nextTier?d.push(a):b.push(a)});var c=0;b.forEach(function(a){$("input[name="+a+"]").prop("checked")&&c++});var e=0;d.forEach(function(a){$("input[name="+a+"]").prop("checked")&&e++});a=0<e&&0!=d.length;return 0<c&&c<b.length||a};
CSRankings.prototype.addListeners=function(){var a=this;["toyear","fromyear","regions"].forEach(function(b){document.getElementById(b).addEventListener("change",function(){a.countAuthorAreas();a.rank()})});for(var b={},d=0;d<CSRankings.areas.length;b={area:b.area},d++)b.area=CSRankings.areas[d],b.area in CSRankings.parentMap||document.getElementById(b.area+"-widget").addEventListener("click",function(b){return function(){a.toggleConferences(b.area)}}(b));b={};for(d=0;d<this.fields.length;b={field:b.field,
str:b.str},d++)b.str="input[name="+this.fields[d]+"]",b.field=this.fields[d],$(b.str).click(function(b){return function(){var c=!0;if(b.field in CSRankings.parentMap){c=!1;var d=CSRankings.parentMap[b.field],e="input[name="+d+"]",f=0,m=1;CSRankings.childMap[d].forEach(function(a){var b=$("input[name="+a+"]").prop("checked");f|=b;m=a in CSRankings.nextTier?m&(b?0:1):m&b});$(e).prop("checked",f);f&&!m||$(e).prop("disabled",!1);f&&!m&&$(e).prop("disabled",!0)}else if(d=$(b.str).prop("checked"),b.field in
CSRankings.childMap){e=$jscomp.makeIterator(CSRankings.childMap[b.field]);for(var n=e.next();!n.done;n=e.next()){n=n.value;var p="input[name="+n+"]";n in CSRankings.nextTier?$(p).prop("checked",!1):$(p).prop("checked",d)}}a.rank(c)}}(b));var c={all_areas_on:function(){a.activateAll()},all_areas_off:function(){a.activateNone()},ai_areas_on:function(){a.activateAI()},ai_areas_off:function(){a.deactivateAI()},systems_areas_on:function(){a.activateSystems()},systems_areas_off:function(){a.deactivateSystems()},
theory_areas_on:function(){a.activateTheory()},theory_areas_off:function(){a.deactivateTheory()},other_areas_on:function(){a.activateOthers()},other_areas_off:function(){a.deactivateOthers()}};b={};for(var e in c)b.item=e,document.getElementById(b.item).addEventListener("click",function(a){return function(){c[a.item]()}}(b)),b={item:b.item}};CSRankings.minToRank=30;CSRankings.areas=[];CSRankings.topLevelAreas={};CSRankings.topTierAreas={};CSRankings.regions="USA europe canada northamerica southamerica australasia asia africa world".split(" ");
CSRankings.nameMatcher=/(.*)\s+\[(.*)\]/;CSRankings.parentIndex={};
CSRankings.parentMap={aaai:"ai",ijcai:"ai",cvpr:"vision",eccv:"vision",iccv:"vision",icml:"mlmining",kdd:"mlmining",nips:"mlmining",acl:"nlp",emnlp:"nlp",naacl:"nlp",sigir:"ir",www:"ir",asplos:"arch",isca:"arch",micro:"arch",hpca:"arch",ccs:"sec",oakland:"sec",usenixsec:"sec",ndss:"sec",pets:"sec",vldb:"mod",sigmod:"mod",icde:"mod",pods:"mod",dac:"da",iccad:"da",emsoft:"bed",rtas:"bed",rtss:"bed",sc:"hpc",hpdc:"hpc",ics:"hpc",mobicom:"mobile",mobisys:"mobile",sensys:"mobile",imc:"metrics",sigmetrics:"metrics",
osdi:"ops",sosp:"ops",eurosys:"ops",fast:"ops",usenixatc:"ops",popl:"plan",pldi:"plan",oopsla:"plan",icfp:"plan",fse:"soft",icse:"soft",ase:"soft",issta:"soft",nsdi:"comm",sigcomm:"comm",siggraph:"graph","siggraph-asia":"graph",focs:"act",soda:"act",stoc:"act",crypto:"crypt",eurocrypt:"crypt",cav:"log",lics:"log",ismb:"bio",recomb:"bio",ec:"ecom",wine:"ecom",chiconf:"chi",ubicomp:"chi",uist:"chi",icra:"robotics",iros:"robotics",rss:"robotics",vis:"visualization",vr:"visualization"};
CSRankings.nextTier={ase:!0,issta:!0,icde:!0,pods:!0,hpca:!0,ndss:!0,pets:!0,eurosys:!0,fast:!0,usenixatc:!0,icfp:!0,oopsla:!0};CSRankings.childMap={};CSRankings.noteMap={Tech:"https://tech.cornell.edu/",CBG:"https://www.cis.mpg.de/cbg/",INF:"https://www.cis.mpg.de/mpi-inf/",IS:"https://www.cis.mpg.de/is/",MG:"https://www.cis.mpg.de/molgen/",SP:"https://www.cis.mpg.de/mpi-for-cyber-for-security-and-privacy/",SWS:"https://www.cis.mpg.de/mpi-sws/"};var csr=new CSRankings;