1const c=[["michael","mike","mikey","mick","mickey"],["william","will","bill","billy","willy","liam"],["robert","rob","bob","bobby","robby","robbie"],["richard","rick","rich","dick","ricky"],["james","jim","jimmy","jamie"],["john","jon","johnny","jack"],["joseph","joe","joey"],["thomas","tom","tommy"],["charles","charlie","chuck","chas"],["christopher","chris","topher"],["daniel","dan","danny"],["matthew","matt","matty"],["anthony","tony","ant"],["andrew","andy","drew"],["steven","steve","stephen"],["edward","ed","eddie","ted","teddy"],["david","dave","davey"],["kenneth","ken","kenny"],["timothy","tim","timmy"],["nicholas","nick","nicky"],["patrick","pat","paddy"],["jonathan","jon","jonny"],["benjamin","ben","benny"],["samuel","sam","sammy"],["alexander","alex","xander"],["nathan","nate","nathaniel"],["zachary","zach","zack"],["joshua","josh"],["jacob","jake"],["brandon","brad"],["bradley","brad"],["gregory","greg"],["jeffrey","jeff"],["raymond","ray"],["lawrence","larry"],["gerald","jerry"],["harold","harry","hal"],["donald","don","donny"],["ronald","ron","ronny"],["eugene","gene"],["phillip","phil","philip"],["frederick","fred","freddy"],["leonard","leo","lenny"],["wesley","wes"],["elizabeth","liz","lizzy","beth","betty","eliza"],["jennifer","jen","jenny"],["katherine","kate","kathy","katie","catherine","cathy","cat"],["margaret","maggie","meg","peggy"],["patricia","pat","patty","trish"],["jessica","jess","jessie"],["stephanie","steph"],["samantha","sam"],["alexandra","alex","lexi"],["victoria","vicky","tori"],["christine","chris","christina","tina"],["deborah","deb","debbie"],["rebecca","becky","becca"],["susanne","sue","susan","susie","suzanne"],["theodore","theo","ted","teddy"],["madison","maddie","madi"],["cameron","cam"],["dominic","dom"],["maxwell","max"],["hunter","hunt"]],r=new Map;for(const a of c){const e=new Set(a);for(const n of a){const i=r.get(n);if(i){for(const t of e)i.add(t);for(const t of i)e.add(t);for(const t of e)r.set(t,e)}else r.set(n,e)}}function s(a){const e=(a||"").toLowerCase().trim();if(!e)return[e];const n=r.get(e);return n?Array.from(n):[e]}function o(a){return s(a).slice().sort()[0]||(a||"").toLowerCase().trim()}function d(a,e){return`${o(a)}|${(e||"").toLowerCase().trim()}`}function h(a,e){return o(a)===o(e)}export{o as canonicalFirstNameKey,h as firstNamesMatchNickname,s as getNameVariants,d as nicknameDedupKey};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.