zxcvbn
Version:
realistic password strength estimation
505 lines (491 loc) • 64.9 kB
JavaScript
if (typeof _$jscoverage === 'undefined') _$jscoverage = {};
(function(_export) {
if (typeof _export._$jscoverage === 'undefined') {
_export._$jscoverage = _$jscoverage;
}
})(typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : this);
if (! _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"]) { _$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"] = {"path":"/Users/dan/zxcvbn/src/scoring.coffee","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0,0,0,0,0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"fnMap":{"1":{"name":"calc_average_degree","line":5,"loc":{"start":{"line":5,"column":0},"end":{"line":5,"column":31}}},"2":{"name":"nCk","line":20,"loc":{"start":{"line":20,"column":2},"end":{"line":20,"column":15}}},"3":{"name":"lg","line":31,"loc":{"start":{"line":31,"column":2},"end":{"line":31,"column":11}}},"4":{"name":"minimum_entropy_match_sequence","line":41,"loc":{"start":{"line":41,"column":2},"end":{"line":41,"column":55}}},"5":{"name":"make_bruteforce_match","line":75,"loc":{"start":{"line":75,"column":4},"end":{"line":75,"column":36}}},"6":{"name":"round_to_x_digits","line":105,"loc":{"start":{"line":105,"column":2},"end":{"line":105,"column":29}}},"7":{"name":"entropy_to_crack_time","line":124,"loc":{"start":{"line":124,"column":2},"end":{"line":124,"column":36}}},"8":{"name":"crack_time_to_score","line":127,"loc":{"start":{"line":127,"column":2},"end":{"line":127,"column":34}}},"9":{"name":"calc_entropy","line":138,"loc":{"start":{"line":138,"column":2},"end":{"line":138,"column":25}}},"10":{"name":"repeat_entropy","line":150,"loc":{"start":{"line":150,"column":2},"end":{"line":150,"column":27}}},"11":{"name":"sequence_entropy","line":154,"loc":{"start":{"line":154,"column":2},"end":{"line":154,"column":29}}},"12":{"name":"digits_entropy","line":169,"loc":{"start":{"line":169,"column":2},"end":{"line":169,"column":27}}},"13":{"name":"year_entropy","line":175,"loc":{"start":{"line":175,"column":2},"end":{"line":175,"column":25}}},"14":{"name":"date_entropy","line":177,"loc":{"start":{"line":177,"column":2},"end":{"line":177,"column":25}}},"15":{"name":"spatial_entropy","line":186,"loc":{"start":{"line":186,"column":2},"end":{"line":186,"column":28}}},"16":{"name":"dictionary_entropy","line":212,"loc":{"start":{"line":212,"column":2},"end":{"line":212,"column":31}}},"17":{"name":"extra_uppercase_entropy","line":223,"loc":{"start":{"line":223,"column":2},"end":{"line":223,"column":36}}},"18":{"name":"extra_l33t_entropy","line":240,"loc":{"start":{"line":240,"column":2},"end":{"line":240,"column":31}}},"19":{"name":"calc_bruteforce_cardinality","line":252,"loc":{"start":{"line":252,"column":2},"end":{"line":252,"column":43}}},"20":{"name":"display_time","line":274,"loc":{"start":{"line":274,"column":2},"end":{"line":274,"column":27}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":1,"column":47}},"2":{"start":{"line":5,"column":0},"end":{"line":11,"column":0}},"3":{"start":{"line":6,"column":2},"end":{"line":6,"column":12}},"4":{"start":{"line":7,"column":2},"end":{"line":9,"column":1}},"5":{"start":{"line":8,"column":4},"end":{"line":8,"column":50}},"6":{"start":{"line":8,"column":16},"end":{"line":8,"column":42}},"7":{"start":{"line":8,"column":16},"end":{"line":8,"column":16}},"8":{"start":{"line":9,"column":2},"end":{"line":9,"column":39}},"9":{"start":{"line":9,"column":14},"end":{"line":9,"column":31}},"10":{"start":{"line":9,"column":14},"end":{"line":9,"column":14}},"11":{"start":{"line":10,"column":2},"end":{"line":10,"column":8}},"12":{"start":{"line":12,"column":0},"end":{"line":12,"column":69}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":67}},"14":{"start":{"line":16,"column":0},"end":{"line":16,"column":74}},"15":{"start":{"line":16,"column":31},"end":{"line":16,"column":66}},"16":{"start":{"line":16,"column":31},"end":{"line":16,"column":31}},"17":{"start":{"line":17,"column":0},"end":{"line":17,"column":72}},"18":{"start":{"line":17,"column":29},"end":{"line":17,"column":64}},"19":{"start":{"line":17,"column":29},"end":{"line":17,"column":29}},"20":{"start":{"line":19,"column":0},"end":{"line":295,"column":0}},"21":{"start":{"line":22,"column":4},"end":{"line":22,"column":20}},"22":{"start":{"line":22,"column":4},"end":{"line":22,"column":11}},"23":{"start":{"line":23,"column":4},"end":{"line":23,"column":21}},"24":{"start":{"line":23,"column":4},"end":{"line":23,"column":11}},"25":{"start":{"line":24,"column":4},"end":{"line":24,"column":8}},"26":{"start":{"line":25,"column":4},"end":{"line":29,"column":3}},"27":{"start":{"line":26,"column":6},"end":{"line":26,"column":11}},"28":{"start":{"line":27,"column":6},"end":{"line":27,"column":11}},"29":{"start":{"line":28,"column":6},"end":{"line":28,"column":11}},"30":{"start":{"line":29,"column":4},"end":{"line":29,"column":4}},"31":{"start":{"line":31,"column":13},"end":{"line":31,"column":37}},"32":{"start":{"line":42,"column":4},"end":{"line":42,"column":65}},"33":{"start":{"line":43,"column":4},"end":{"line":43,"column":15}},"34":{"start":{"line":46,"column":4},"end":{"line":46,"column":20}},"35":{"start":{"line":47,"column":4},"end":{"line":61,"column":3}},"36":{"start":{"line":50,"column":6},"end":{"line":50,"column":66}},"37":{"start":{"line":50,"column":20},"end":{"line":50,"column":36}},"38":{"start":{"line":51,"column":6},"end":{"line":51,"column":27}},"39":{"start":{"line":52,"column":6},"end":{"line":61,"column":3}},"40":{"start":{"line":53,"column":8},"end":{"line":53,"column":34}},"41":{"start":{"line":55,"column":8},"end":{"line":55,"column":69}},"42":{"start":{"line":55,"column":29},"end":{"line":55,"column":45}},"43":{"start":{"line":56,"column":8},"end":{"line":61,"column":3}},"44":{"start":{"line":57,"column":10},"end":{"line":57,"column":39}},"45":{"start":{"line":58,"column":10},"end":{"line":58,"column":32}},"46":{"start":{"line":61,"column":4},"end":{"line":61,"column":22}},"47":{"start":{"line":62,"column":4},"end":{"line":62,"column":26}},"48":{"start":{"line":63,"column":4},"end":{"line":63,"column":15}},"49":{"start":{"line":64,"column":6},"end":{"line":64,"column":28}},"50":{"start":{"line":65,"column":6},"end":{"line":69,"column":13}},"51":{"start":{"line":66,"column":8},"end":{"line":66,"column":32}},"52":{"start":{"line":67,"column":8},"end":{"line":67,"column":22}},"53":{"start":{"line":69,"column":8},"end":{"line":69,"column":13}},"54":{"start":{"line":70,"column":4},"end":{"line":70,"column":27}},"55":{"start":{"line":75,"column":4},"end":{"line":82,"column":3}},"56":{"start":{"line":76,"column":6},"end":{"line":81,"column":40}},"57":{"start":{"line":82,"column":4},"end":{"line":82,"column":8}},"58":{"start":{"line":83,"column":4},"end":{"line":83,"column":27}},"59":{"start":{"line":84,"column":4},"end":{"line":90,"column":3}},"60":{"start":{"line":85,"column":6},"end":{"line":85,"column":32}},"61":{"start":{"line":86,"column":6},"end":{"line":88,"column":5}},"62":{"start":{"line":87,"column":8},"end":{"line":87,"column":63}},"63":{"start":{"line":88,"column":6},"end":{"line":88,"column":14}},"64":{"start":{"line":89,"column":6},"end":{"line":89,"column":35}},"65":{"start":{"line":90,"column":4},"end":{"line":92,"column":3}},"66":{"start":{"line":91,"column":6},"end":{"line":91,"column":75}},"67":{"start":{"line":92,"column":4},"end":{"line":92,"column":39}},"68":{"start":{"line":94,"column":4},"end":{"line":94,"column":50}},"69":{"start":{"line":95,"column":4},"end":{"line":95,"column":50}},"70":{"start":{"line":98,"column":4},"end":{"line":103,"column":41}},"71":{"start":{"line":105,"column":31},"end":{"line":105,"column":79}},"72":{"start":{"line":125,"column":4},"end":{"line":125,"column":49}},"73":{"start":{"line":128,"column":4},"end":{"line":128,"column":40}},"74":{"start":{"line":128,"column":4},"end":{"line":128,"column":11}},"75":{"start":{"line":129,"column":4},"end":{"line":129,"column":40}},"76":{"start":{"line":129,"column":4},"end":{"line":129,"column":11}},"77":{"start":{"line":130,"column":4},"end":{"line":130,"column":40}},"78":{"start":{"line":130,"column":4},"end":{"line":130,"column":11}},"79":{"start":{"line":131,"column":4},"end":{"line":131,"column":40}},"80":{"start":{"line":131,"column":4},"end":{"line":131,"column":11}},"81":{"start":{"line":132,"column":4},"end":{"line":132,"column":11}},"82":{"start":{"line":139,"column":4},"end":{"line":139,"column":41}},"83":{"start":{"line":139,"column":4},"end":{"line":139,"column":23}},"84":{"start":{"line":140,"column":4},"end":{"line":148,"column":3}},"85":{"start":{"line":141,"column":29},"end":{"line":141,"column":43}},"86":{"start":{"line":142,"column":29},"end":{"line":142,"column":45}},"87":{"start":{"line":143,"column":29},"end":{"line":143,"column":43}},"88":{"start":{"line":144,"column":29},"end":{"line":144,"column":41}},"89":{"start":{"line":145,"column":29},"end":{"line":145,"column":41}},"90":{"start":{"line":146,"column":29},"end":{"line":146,"column":44}},"91":{"start":{"line":147,"column":29},"end":{"line":147,"column":47}},"92":{"start":{"line":148,"column":4},"end":{"line":148,"column":48}},"93":{"start":{"line":151,"column":4},"end":{"line":151,"column":57}},"94":{"start":{"line":152,"column":4},"end":{"line":152,"column":41}},"95":{"start":{"line":152,"column":9},"end":{"line":152,"column":40}},"96":{"start":{"line":155,"column":4},"end":{"line":155,"column":36}},"97":{"start":{"line":156,"column":4},"end":{"line":165,"column":3}},"98":{"start":{"line":157,"column":6},"end":{"line":157,"column":21}},"99":{"start":{"line":159,"column":6},"end":{"line":164,"column":33}},"100":{"start":{"line":160,"column":8},"end":{"line":160,"column":29}},"101":{"start":{"line":161,"column":11},"end":{"line":164,"column":33}},"102":{"start":{"line":162,"column":8},"end":{"line":162,"column":29}},"103":{"start":{"line":164,"column":8},"end":{"line":164,"column":33}},"104":{"start":{"line":165,"column":4},"end":{"line":167,"column":3}},"105":{"start":{"line":166,"column":6},"end":{"line":166,"column":22}},"106":{"start":{"line":167,"column":4},"end":{"line":167,"column":40}},"107":{"start":{"line":169,"column":29},"end":{"line":169,"column":64}},"108":{"start":{"line":175,"column":27},"end":{"line":175,"column":40}},"109":{"start":{"line":178,"column":4},"end":{"line":181,"column":55}},"110":{"start":{"line":179,"column":6},"end":{"line":179,"column":48}},"111":{"start":{"line":181,"column":6},"end":{"line":181,"column":55}},"112":{"start":{"line":182,"column":4},"end":{"line":184,"column":3}},"113":{"start":{"line":183,"column":6},"end":{"line":183,"column":17}},"114":{"start":{"line":184,"column":4},"end":{"line":184,"column":10}},"115":{"start":{"line":187,"column":4},"end":{"line":191,"column":34}},"116":{"start":{"line":188,"column":6},"end":{"line":188,"column":36}},"117":{"start":{"line":189,"column":6},"end":{"line":189,"column":32}},"118":{"start":{"line":191,"column":6},"end":{"line":191,"column":34}},"119":{"start":{"line":192,"column":6},"end":{"line":192,"column":30}},"120":{"start":{"line":193,"column":4},"end":{"line":193,"column":20}},"121":{"start":{"line":194,"column":4},"end":{"line":194,"column":25}},"122":{"start":{"line":195,"column":4},"end":{"line":195,"column":18}},"123":{"start":{"line":197,"column":4},"end":{"line":201,"column":3}},"124":{"start":{"line":198,"column":6},"end":{"line":198,"column":40}},"125":{"start":{"line":199,"column":6},"end":{"line":201,"column":3}},"126":{"start":{"line":200,"column":8},"end":{"line":200,"column":63}},"127":{"start":{"line":201,"column":4},"end":{"line":201,"column":30}},"128":{"start":{"line":204,"column":4},"end":{"line":210,"column":3}},"129":{"start":{"line":205,"column":6},"end":{"line":205,"column":28}},"130":{"start":{"line":206,"column":6},"end":{"line":206,"column":49}},"131":{"start":{"line":207,"column":6},"end":{"line":207,"column":22}},"132":{"start":{"line":208,"column":6},"end":{"line":208,"column":65}},"133":{"start":{"line":208,"column":6},"end":{"line":208,"column":36}},"134":{"start":{"line":209,"column":6},"end":{"line":209,"column":33}},"135":{"start":{"line":210,"column":4},"end":{"line":210,"column":10}},"136":{"start":{"line":213,"column":4},"end":{"line":213,"column":38}},"137":{"start":{"line":214,"column":4},"end":{"line":214,"column":59}},"138":{"start":{"line":215,"column":4},"end":{"line":215,"column":49}},"139":{"start":{"line":216,"column":4},"end":{"line":216,"column":68}},"140":{"start":{"line":224,"column":4},"end":{"line":224,"column":21}},"141":{"start":{"line":225,"column":4},"end":{"line":225,"column":36}},"142":{"start":{"line":225,"column":4},"end":{"line":225,"column":11}},"143":{"start":{"line":229,"column":4},"end":{"line":234,"column":3}},"144":{"start":{"line":230,"column":6},"end":{"line":230,"column":33}},"145":{"start":{"line":230,"column":6},"end":{"line":230,"column":13}},"146":{"start":{"line":234,"column":4},"end":{"line":234,"column":68}},"147":{"start":{"line":234,"column":9},"end":{"line":234,"column":60}},"148":{"start":{"line":234,"column":9},"end":{"line":234,"column":11}},"149":{"start":{"line":235,"column":4},"end":{"line":235,"column":68}},"150":{"start":{"line":235,"column":9},"end":{"line":235,"column":60}},"151":{"start":{"line":235,"column":9},"end":{"line":235,"column":11}},"152":{"start":{"line":236,"column":4},"end":{"line":236,"column":20}},"153":{"start":{"line":237,"column":4},"end":{"line":237,"column":63}},"154":{"start":{"line":237,"column":4},"end":{"line":237,"column":34}},"155":{"start":{"line":238,"column":4},"end":{"line":238,"column":20}},"156":{"start":{"line":241,"column":4},"end":{"line":241,"column":29}},"157":{"start":{"line":241,"column":4},"end":{"line":241,"column":11}},"158":{"start":{"line":242,"column":4},"end":{"line":242,"column":20}},"159":{"start":{"line":243,"column":4},"end":{"line":248,"column":3}},"160":{"start":{"line":244,"column":6},"end":{"line":244,"column":73}},"161":{"start":{"line":244,"column":11},"end":{"line":244,"column":65}},"162":{"start":{"line":244,"column":11},"end":{"line":244,"column":13}},"163":{"start":{"line":245,"column":6},"end":{"line":245,"column":75}},"164":{"start":{"line":245,"column":11},"end":{"line":245,"column":67}},"165":{"start":{"line":245,"column":11},"end":{"line":245,"column":13}},"166":{"start":{"line":246,"column":6},"end":{"line":246,"column":65}},"167":{"start":{"line":246,"column":6},"end":{"line":246,"column":36}},"168":{"start":{"line":248,"column":4},"end":{"line":248,"column":26}},"169":{"start":{"line":253,"column":4},"end":{"line":253,"column":81}},"170":{"start":{"line":254,"column":4},"end":{"line":266,"column":3}},"171":{"start":{"line":255,"column":6},"end":{"line":255,"column":28}},"172":{"start":{"line":256,"column":6},"end":{"line":265,"column":21}},"173":{"start":{"line":257,"column":8},"end":{"line":257,"column":20}},"174":{"start":{"line":258,"column":11},"end":{"line":265,"column":21}},"175":{"start":{"line":259,"column":8},"end":{"line":259,"column":19}},"176":{"start":{"line":260,"column":11},"end":{"line":265,"column":21}},"177":{"start":{"line":261,"column":8},"end":{"line":261,"column":19}},"178":{"start":{"line":262,"column":11},"end":{"line":265,"column":21}},"179":{"start":{"line":263,"column":8},"end":{"line":263,"column":21}},"180":{"start":{"line":265,"column":8},"end":{"line":265,"column":21}},"181":{"start":{"line":266,"column":4},"end":{"line":266,"column":8}},"182":{"start":{"line":267,"column":4},"end":{"line":267,"column":20}},"183":{"start":{"line":267,"column":4},"end":{"line":267,"column":10}},"184":{"start":{"line":268,"column":4},"end":{"line":268,"column":19}},"185":{"start":{"line":268,"column":4},"end":{"line":268,"column":10}},"186":{"start":{"line":269,"column":4},"end":{"line":269,"column":19}},"187":{"start":{"line":269,"column":4},"end":{"line":269,"column":10}},"188":{"start":{"line":270,"column":4},"end":{"line":270,"column":21}},"189":{"start":{"line":270,"column":4},"end":{"line":270,"column":10}},"190":{"start":{"line":271,"column":4},"end":{"line":271,"column":22}},"191":{"start":{"line":271,"column":4},"end":{"line":271,"column":11}},"192":{"start":{"line":272,"column":4},"end":{"line":272,"column":4}},"193":{"start":{"line":275,"column":4},"end":{"line":275,"column":14}},"194":{"start":{"line":276,"column":4},"end":{"line":276,"column":21}},"195":{"start":{"line":277,"column":4},"end":{"line":277,"column":18}},"196":{"start":{"line":278,"column":4},"end":{"line":278,"column":19}},"197":{"start":{"line":279,"column":4},"end":{"line":279,"column":20}},"198":{"start":{"line":280,"column":4},"end":{"line":280,"column":23}},"199":{"start":{"line":281,"column":4},"end":{"line":294,"column":16}},"200":{"start":{"line":282,"column":6},"end":{"line":282,"column":14}},"201":{"start":{"line":283,"column":9},"end":{"line":294,"column":16}},"202":{"start":{"line":284,"column":6},"end":{"line":284,"column":49}},"203":{"start":{"line":284,"column":8},"end":{"line":284,"column":49}},"204":{"start":{"line":284,"column":9},"end":{"line":284,"column":39}},"205":{"start":{"line":285,"column":9},"end":{"line":294,"column":16}},"206":{"start":{"line":286,"column":6},"end":{"line":286,"column":45}},"207":{"start":{"line":286,"column":8},"end":{"line":286,"column":45}},"208":{"start":{"line":286,"column":9},"end":{"line":286,"column":37}},"209":{"start":{"line":287,"column":9},"end":{"line":294,"column":16}},"210":{"start":{"line":288,"column":6},"end":{"line":288,"column":43}},"211":{"start":{"line":288,"column":8},"end":{"line":288,"column":43}},"212":{"start":{"line":288,"column":9},"end":{"line":288,"column":36}},"213":{"start":{"line":289,"column":9},"end":{"line":294,"column":16}},"214":{"start":{"line":290,"column":6},"end":{"line":290,"column":47}},"215":{"start":{"line":290,"column":8},"end":{"line":290,"column":47}},"216":{"start":{"line":290,"column":9},"end":{"line":290,"column":38}},"217":{"start":{"line":291,"column":9},"end":{"line":294,"column":16}},"218":{"start":{"line":292,"column":6},"end":{"line":292,"column":45}},"219":{"start":{"line":292,"column":8},"end":{"line":292,"column":45}},"220":{"start":{"line":292,"column":9},"end":{"line":292,"column":37}},"221":{"start":{"line":294,"column":6},"end":{"line":294,"column":16}},"222":{"start":{"line":296,"column":0},"end":{"line":296,"column":23}}},"branchMap":{"1":{"line":22,"type":"if","locations":[{"start":{"line":22,"column":4},"end":{"line":22,"column":4}},{"start":{"line":22,"column":4},"end":{"line":22,"column":4}}]},"2":{"line":23,"type":"if","locations":[{"start":{"line":23,"column":4},"end":{"line":23,"column":4}},{"start":{"line":23,"column":4},"end":{"line":23,"column":4}}]},"3":{"line":56,"type":"if","locations":[{"start":{"line":56,"column":8},"end":{"line":56,"column":8}},{"start":{"line":56,"column":8},"end":{"line":56,"column":8}}]},"4":{"line":65,"type":"if","locations":[{"start":{"line":65,"column":6},"end":{"line":65,"column":6}},{"start":{"line":65,"column":6},"end":{"line":65,"column":6}}]},"5":{"line":86,"type":"if","locations":[{"start":{"line":86,"column":6},"end":{"line":86,"column":6}},{"start":{"line":86,"column":6},"end":{"line":86,"column":6}}]},"6":{"line":90,"type":"if","locations":[{"start":{"line":90,"column":4},"end":{"line":90,"column":4}},{"start":{"line":90,"column":4},"end":{"line":90,"column":4}}]},"7":{"line":128,"type":"if","locations":[{"start":{"line":128,"column":4},"end":{"line":128,"column":4}},{"start":{"line":128,"column":4},"end":{"line":128,"column":4}}]},"8":{"line":129,"type":"if","locations":[{"start":{"line":129,"column":4},"end":{"line":129,"column":4}},{"start":{"line":129,"column":4},"end":{"line":129,"column":4}}]},"9":{"line":130,"type":"if","locations":[{"start":{"line":130,"column":4},"end":{"line":130,"column":4}},{"start":{"line":130,"column":4},"end":{"line":130,"column":4}}]},"10":{"line":131,"type":"if","locations":[{"start":{"line":131,"column":4},"end":{"line":131,"column":4}},{"start":{"line":131,"column":4},"end":{"line":131,"column":4}}]},"11":{"line":139,"type":"if","locations":[{"start":{"line":139,"column":4},"end":{"line":139,"column":4}},{"start":{"line":139,"column":4},"end":{"line":139,"column":4}}]},"12":{"line":140,"type":"switch","locations":[{"start":{"line":141,"column":6},"end":{"line":141,"column":43}},{"start":{"line":142,"column":6},"end":{"line":142,"column":45}},{"start":{"line":143,"column":6},"end":{"line":143,"column":43}},{"start":{"line":144,"column":6},"end":{"line":144,"column":41}},{"start":{"line":145,"column":6},"end":{"line":145,"column":41}},{"start":{"line":146,"column":6},"end":{"line":146,"column":44}},{"start":{"line":147,"column":6},"end":{"line":147,"column":47}}]},"13":{"line":156,"type":"if","locations":[{"start":{"line":156,"column":4},"end":{"line":156,"column":4}},{"start":{"line":156,"column":4},"end":{"line":156,"column":4}}]},"14":{"line":159,"type":"if","locations":[{"start":{"line":159,"column":6},"end":{"line":159,"column":6}},{"start":{"line":159,"column":6},"end":{"line":159,"column":6}}]},"15":{"line":161,"type":"if","locations":[{"start":{"line":161,"column":11},"end":{"line":161,"column":11}},{"start":{"line":161,"column":11},"end":{"line":161,"column":11}}]},"16":{"line":165,"type":"if","locations":[{"start":{"line":165,"column":4},"end":{"line":165,"column":4}},{"start":{"line":165,"column":4},"end":{"line":165,"column":4}}]},"17":{"line":178,"type":"if","locations":[{"start":{"line":178,"column":4},"end":{"line":178,"column":4}},{"start":{"line":178,"column":4},"end":{"line":178,"column":4}}]},"18":{"line":182,"type":"if","locations":[{"start":{"line":182,"column":4},"end":{"line":182,"column":4}},{"start":{"line":182,"column":4},"end":{"line":182,"column":4}}]},"19":{"line":187,"type":"if","locations":[{"start":{"line":187,"column":4},"end":{"line":187,"column":4}},{"start":{"line":187,"column":4},"end":{"line":187,"column":4}}]},"20":{"line":204,"type":"if","locations":[{"start":{"line":204,"column":4},"end":{"line":204,"column":4}},{"start":{"line":204,"column":4},"end":{"line":204,"column":4}}]},"21":{"line":225,"type":"if","locations":[{"start":{"line":225,"column":4},"end":{"line":225,"column":4}},{"start":{"line":225,"column":4},"end":{"line":225,"column":4}}]},"22":{"line":230,"type":"if","locations":[{"start":{"line":230,"column":6},"end":{"line":230,"column":6}},{"start":{"line":230,"column":6},"end":{"line":230,"column":6}}]},"23":{"line":241,"type":"if","locations":[{"start":{"line":241,"column":4},"end":{"line":241,"column":4}},{"start":{"line":241,"column":4},"end":{"line":241,"column":4}}]},"24":{"line":256,"type":"if","locations":[{"start":{"line":256,"column":6},"end":{"line":256,"column":6}},{"start":{"line":256,"column":6},"end":{"line":256,"column":6}}]},"25":{"line":258,"type":"if","locations":[{"start":{"line":258,"column":11},"end":{"line":258,"column":11}},{"start":{"line":258,"column":11},"end":{"line":258,"column":11}}]},"26":{"line":260,"type":"if","locations":[{"start":{"line":260,"column":11},"end":{"line":260,"column":11}},{"start":{"line":260,"column":11},"end":{"line":260,"column":11}}]},"27":{"line":262,"type":"if","locations":[{"start":{"line":262,"column":11},"end":{"line":262,"column":11}},{"start":{"line":262,"column":11},"end":{"line":262,"column":11}}]},"28":{"line":267,"type":"if","locations":[{"start":{"line":267,"column":4},"end":{"line":267,"column":4}},{"start":{"line":267,"column":4},"end":{"line":267,"column":4}}]},"29":{"line":268,"type":"if","locations":[{"start":{"line":268,"column":4},"end":{"line":268,"column":4}},{"start":{"line":268,"column":4},"end":{"line":268,"column":4}}]},"30":{"line":269,"type":"if","locations":[{"start":{"line":269,"column":4},"end":{"line":269,"column":4}},{"start":{"line":269,"column":4},"end":{"line":269,"column":4}}]},"31":{"line":270,"type":"if","locations":[{"start":{"line":270,"column":4},"end":{"line":270,"column":4}},{"start":{"line":270,"column":4},"end":{"line":270,"column":4}}]},"32":{"line":271,"type":"if","locations":[{"start":{"line":271,"column":4},"end":{"line":271,"column":4}},{"start":{"line":271,"column":4},"end":{"line":271,"column":4}}]},"33":{"line":281,"type":"if","locations":[{"start":{"line":281,"column":4},"end":{"line":281,"column":4}},{"start":{"line":281,"column":4},"end":{"line":281,"column":4}}]},"34":{"line":283,"type":"if","locations":[{"start":{"line":283,"column":9},"end":{"line":283,"column":9}},{"start":{"line":283,"column":9},"end":{"line":283,"column":9}}]},"35":{"line":285,"type":"if","locations":[{"start":{"line":285,"column":9},"end":{"line":285,"column":9}},{"start":{"line":285,"column":9},"end":{"line":285,"column":9}}]},"36":{"line":287,"type":"if","locations":[{"start":{"line":287,"column":9},"end":{"line":287,"column":9}},{"start":{"line":287,"column":9},"end":{"line":287,"column":9}}]},"37":{"line":289,"type":"if","locations":[{"start":{"line":289,"column":9},"end":{"line":289,"column":9}},{"start":{"line":289,"column":9},"end":{"line":289,"column":9}}]},"38":{"line":291,"type":"if","locations":[{"start":{"line":291,"column":9},"end":{"line":291,"column":9}},{"start":{"line":291,"column":9},"end":{"line":291,"column":9}}]}}} }(function() {
var KEYBOARD_AVERAGE_DEGREE, KEYBOARD_STARTING_POSITIONS, KEYPAD_AVERAGE_DEGREE, KEYPAD_STARTING_POSITIONS, adjacency_graphs, calc_average_degree, k, scoring, v;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[1]++;
adjacency_graphs = require('./adjacency_graphs');
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[2]++;
calc_average_degree = function(graph) {
var average, k, key, n, neighbors, v;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[1]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[3]++;
average = 0;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[4]++;
for (key in graph) {
neighbors = graph[key];
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[5]++;
average += ((function() {
var l, len, results;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[6]++;
results = [];
for (l = 0, len = neighbors.length; l < len; l++) {
n = neighbors[l];
if (!(n)) {
continue;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[7]++;
results.push(n);
}
return results;
})()).length;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[8]++;
average /= ((function() {
var results;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[9]++;
results = [];
for (k in graph) {
v = graph[k];
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[10]++;
results.push(k);
}
return results;
})()).length;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[11]++;
return average;
};
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[12]++;
KEYBOARD_AVERAGE_DEGREE = calc_average_degree(adjacency_graphs.qwerty);
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[13]++;
KEYPAD_AVERAGE_DEGREE = calc_average_degree(adjacency_graphs.keypad);
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[14]++;
KEYBOARD_STARTING_POSITIONS = ((function() {
var ref, results;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[15]++;
ref = adjacency_graphs.qwerty;
results = [];
for (k in ref) {
v = ref[k];
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[16]++;
results.push(k);
}
return results;
})()).length;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[17]++;
KEYPAD_STARTING_POSITIONS = ((function() {
var ref, results;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[18]++;
ref = adjacency_graphs.keypad;
results = [];
for (k in ref) {
v = ref[k];
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[19]++;
results.push(k);
}
return results;
})()).length;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[20]++;
scoring = {
nCk: function(n, k) {
var d, l, r, ref;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[2]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[21]++;
if (k > n) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[1][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[22]++;
return 0;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[1][1]++;
void 0;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[23]++;
if (k === 0) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[2][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[24]++;
return 1;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[2][1]++;
void 0;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[25]++;
r = 1;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[26]++;
for (d = l = 1, ref = k; 1 <= ref ? l <= ref : l >= ref; d = 1 <= ref ? ++l : --l) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[27]++;
r *= n;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[28]++;
r /= d;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[29]++;
n -= 1;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[30]++;
return r;
},
lg: function(n) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[3]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[31]++;
return Math.log(n) / Math.log(2);
},
minimum_entropy_match_sequence: function(password, matches) {
var backpointers, bruteforce_cardinality, candidate_entropy, crack_time, i, j, l, len, len1, m, make_bruteforce_match, match, match_sequence, match_sequence_copy, min_entropy, o, ref, ref1, ref2, up_to_k;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[4]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[32]++;
bruteforce_cardinality = this.calc_bruteforce_cardinality(password);
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[33]++;
up_to_k = [];
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[34]++;
backpointers = [];
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[35]++;
for (k = l = 0, ref = password.length; 0 <= ref ? l < ref : l > ref; k = 0 <= ref ? ++l : --l) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[36]++;
up_to_k[k] = (_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[37]++, up_to_k[k - 1] || 0) + this.lg(bruteforce_cardinality);
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[38]++;
backpointers[k] = null;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[39]++;
for (m = 0, len = matches.length; m < len; m++) {
match = matches[m];
if (!(match.j === k)) {
continue;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[40]++;
ref1 = [match.i, match.j], i = ref1[0], j = ref1[1];
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[41]++;
candidate_entropy = (_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[42]++, up_to_k[i - 1] || 0) + this.calc_entropy(match);
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[43]++;
if (candidate_entropy < up_to_k[j]) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[3][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[44]++;
up_to_k[j] = candidate_entropy;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[45]++;
backpointers[j] = match;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[3][1]++;
void 0;
}
}
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[46]++;
match_sequence = [];
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[47]++;
k = password.length - 1;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[48]++;
while (k >= 0) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[49]++;
match = backpointers[k];
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[50]++;
if (match) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[4][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[51]++;
match_sequence.push(match);
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[52]++;
k = match.i - 1;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[4][1]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[53]++;
k -= 1;
}
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[54]++;
match_sequence.reverse();
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[55]++;
make_bruteforce_match = (function(_this) {
return function(i, j) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[5]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[56]++;
return {
pattern: 'bruteforce',
i: i,
j: j,
token: password.slice(i, +j + 1 || 9e9),
entropy: _this.lg(Math.pow(bruteforce_cardinality, j - i + 1)),
cardinality: bruteforce_cardinality
};
};
})(this);
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[57]++;
k = 0;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[58]++;
match_sequence_copy = [];
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[59]++;
for (o = 0, len1 = match_sequence.length; o < len1; o++) {
match = match_sequence[o];
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[60]++;
ref2 = [match.i, match.j], i = ref2[0], j = ref2[1];
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[61]++;
if (i - k > 0) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[5][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[62]++;
match_sequence_copy.push(make_bruteforce_match(k, i - 1));
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[5][1]++;
void 0;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[63]++;
k = j + 1;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[64]++;
match_sequence_copy.push(match);
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[65]++;
if (k < password.length) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[6][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[66]++;
match_sequence_copy.push(make_bruteforce_match(k, password.length - 1));
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[6][1]++;
void 0;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[67]++;
match_sequence = match_sequence_copy;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[68]++;
min_entropy = up_to_k[password.length - 1] || 0;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[69]++;
crack_time = this.entropy_to_crack_time(min_entropy);
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[70]++;
return {
password: password,
entropy: this.round_to_x_digits(min_entropy, 3),
match_sequence: match_sequence,
crack_time: this.round_to_x_digits(crack_time, 3),
crack_time_display: this.display_time(crack_time),
score: this.crack_time_to_score(crack_time)
};
},
round_to_x_digits: function(n, x) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[6]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[71]++;
return Math.round(n * Math.pow(10, x)) / Math.pow(10, x);
},
SECONDS_PER_GUESS: .010 / 100,
entropy_to_crack_time: function(entropy) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[7]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[72]++;
return .5 * Math.pow(2, entropy) * this.SECONDS_PER_GUESS;
},
crack_time_to_score: function(seconds) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[8]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[73]++;
if (seconds < Math.pow(10, 2)) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[7][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[74]++;
return 0;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[7][1]++;
void 0;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[75]++;
if (seconds < Math.pow(10, 4)) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[8][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[76]++;
return 1;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[8][1]++;
void 0;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[77]++;
if (seconds < Math.pow(10, 6)) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[9][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[78]++;
return 2;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[9][1]++;
void 0;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[79]++;
if (seconds < Math.pow(10, 8)) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[10][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[80]++;
return 3;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[10][1]++;
void 0;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[81]++;
return 4;
},
calc_entropy: function(match) {
var entropy_func;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[9]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[82]++;
if (match.entropy != null) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[11][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[83]++;
return match.entropy;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[11][1]++;
void 0;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[84]++;
entropy_func = (function() {
switch (match.pattern) {
case 'repeat':
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[12][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[85]++;
return this.repeat_entropy;
case 'sequence':
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[12][1]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[86]++;
return this.sequence_entropy;
case 'digits':
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[12][2]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[87]++;
return this.digits_entropy;
case 'year':
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[12][3]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[88]++;
return this.year_entropy;
case 'date':
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[12][4]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[89]++;
return this.date_entropy;
case 'spatial':
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[12][5]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[90]++;
return this.spatial_entropy;
case 'dictionary':
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[12][6]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[91]++;
return this.dictionary_entropy;
}
}).call(this);
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[92]++;
return match.entropy = entropy_func.call(this, match);
},
repeat_entropy: function(match) {
var cardinality;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[10]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[93]++;
cardinality = this.calc_bruteforce_cardinality(match.token);
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[94]++;
return this.lg((_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[95]++, cardinality * match.token.length));
},
sequence_entropy: function(match) {
var base_entropy, first_chr;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[11]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[96]++;
first_chr = match.token.charAt(0);
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[97]++;
if (first_chr === 'a' || first_chr === '1') {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[13][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[98]++;
base_entropy = 1;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[13][1]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[99]++;
if (first_chr.match(/\d/)) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[14][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[100]++;
base_entropy = this.lg(10);
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[14][1]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[101]++;
if (first_chr.match(/[a-z]/)) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[15][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[102]++;
base_entropy = this.lg(26);
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[15][1]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[103]++;
base_entropy = this.lg(26) + 1;
}
}
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[104]++;
if (!match.ascending) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[16][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[105]++;
base_entropy += 1;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[16][1]++;
void 0;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[106]++;
return base_entropy + this.lg(match.token.length);
},
digits_entropy: function(match) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[12]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[107]++;
return this.lg(Math.pow(10, match.token.length));
},
NUM_YEARS: 119,
NUM_MONTHS: 12,
NUM_DAYS: 31,
year_entropy: function(match) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[13]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[108]++;
return this.lg(this.NUM_YEARS);
},
date_entropy: function(match) {
var entropy;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[14]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[109]++;
if (match.year < 100) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[17][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[110]++;
entropy = this.lg(this.NUM_DAYS * this.NUM_MONTHS * 100);
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[17][1]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[111]++;
entropy = this.lg(this.NUM_DAYS * this.NUM_MONTHS * this.NUM_YEARS);
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[112]++;
if (match.separator) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[18][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[113]++;
entropy += 2;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[18][1]++;
void 0;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[114]++;
return entropy;
},
spatial_entropy: function(match) {
var L, S, U, d, entropy, i, j, l, m, o, possibilities, possible_turns, ref, ref1, ref2, ref3, s, t;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].f[15]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[115]++;
if ((ref = match.graph) === 'qwerty' || ref === 'dvorak') {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[19][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[116]++;
s = KEYBOARD_STARTING_POSITIONS;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[117]++;
d = KEYBOARD_AVERAGE_DEGREE;
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[19][1]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[118]++;
s = KEYPAD_STARTING_POSITIONS;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[119]++;
d = KEYPAD_AVERAGE_DEGREE;
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[120]++;
possibilities = 0;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[121]++;
L = match.token.length;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[122]++;
t = match.turns;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[123]++;
for (i = l = 2, ref1 = L; 2 <= ref1 ? l <= ref1 : l >= ref1; i = 2 <= ref1 ? ++l : --l) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[124]++;
possible_turns = Math.min(t, i - 1);
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[125]++;
for (j = m = 1, ref2 = possible_turns; 1 <= ref2 ? m <= ref2 : m >= ref2; j = 1 <= ref2 ? ++m : --m) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[126]++;
possibilities += this.nCk(i - 1, j - 1) * s * Math.pow(d, j);
}
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[127]++;
entropy = this.lg(possibilities);
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[128]++;
if (match.shifted_count) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[20][0]++;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[129]++;
S = match.shifted_count;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[130]++;
U = match.token.length - match.shifted_count;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[131]++;
possibilities = 0;
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[132]++;
for (i = o = 0, ref3 = Math.min(S, U); 0 <= ref3 ? o <= ref3 : o >= ref3; i = 0 <= ref3 ? ++o : --o) {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[133]++;
possibilities += this.nCk(S + U, i);
}
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].s[134]++;
entropy += this.lg(possibilities);
} else {
_$jscoverage["/Users/dan/zxcvbn/src/scoring.coffee"].b[20][1]++;
void 0;
}
_$jscoverage["/Users/