{"version":3,"file":"index.mjs","sources":["../../src/scoring/index.ts"],"sourcesContent":[null],"names":["Scoring","constructor","options","password","optimal","excludeAdditive","fillArray","size","valueType","result","i","value","push","makeBruteforceMatch","j","pattern","token","slice","update","match","sequenceLength","k","estimatedMatch","estimateGuesses","pi","guesses","guessesProduct","g","utils","factorial","MIN_GUESSES_BEFORE_GROWING_SEQUENCE","shouldSkip","competingG","totalGuesses","Object","keys","forEach","competingPatternLengthStr","competingPatternLength","parseInt","competingMetricMatch","bestMatches","bruteforceUpdate","passwordCharIndex","tmp","sequenceLengthStr","lastMatch","unwind","passwordLength","optimalMatchSequence","temp","candidateSequenceLengthStr","candidateSequenceLength","candidateMetricMatch","unshift","mostGuessableMatchSequence","matches","length","matchesByCoordinateJ","map","sort","m1","m2","prevM","optimalSequenceLength","getGuesses","guessesLog10","log10","sequence"],"mappings":"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"}