/*!
 * Lunr languages, `German` language
 * https://github.com/MihaiValentin/lunr-languages
 *
 * Copyright 2014, Mihai Valentin
 * http://www.mozilla.org/MPL/
 */

/*!
 * Snowball JavaScript Library v0.3
 * http://code.google.com/p/urim/
 * http://snowball.tartarus.org/
 *
 * Copyright 2010, Oleg Mazko
 * http://www.mozilla.org/MPL/
 */

/*!
 * based on
 * Snowball JavaScript Library v0.3
 * http://code.google.com/p/urim/
 * http://snowball.tartarus.org/
 *
 * Copyright 2010, Oleg Mazko
 * http://www.mozilla.org/MPL/
 */

/*!
 * lunr.Builder
 * Copyright (C) 2020 Oliver Nightingale
 */

/*!
 * lunr.Index
 * Copyright (C) 2020 Oliver Nightingale
 */

/*!
 * lunr.Pipeline
 * Copyright (C) 2020 Oliver Nightingale
 */

/*!
 * lunr.Set
 * Copyright (C) 2020 Oliver Nightingale
 */

/*!
 * lunr.TokenSet
 * Copyright (C) 2020 Oliver Nightingale
 */

/*!
 * lunr.Vector
 * Copyright (C) 2020 Oliver Nightingale
 */

/*!
 * lunr.stemmer
 * Copyright (C) 2020 Oliver Nightingale
 * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt
 */

/*!
 * lunr.stopWordFilter
 * Copyright (C) 2020 Oliver Nightingale
 */

/*!
 * lunr.tokenizer
 * Copyright (C) 2020 Oliver Nightingale
 */

/*!
 * lunr.trimmer
 * Copyright (C) 2020 Oliver Nightingale
 */

/*!
 * lunr.utils
 * Copyright (C) 2020 Oliver Nightingale
 */

/**
 * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9
 * Copyright (C) 2020 Oliver Nightingale
 * @license MIT
 */
