{"version":3,"sources":["webpack:////build/source/node_modules/lodash/_compareMultiple.js","webpack:///./helpers/event_hub_factory.js","webpack:///./lib/logger/index.js","webpack:////build/source/node_modules/lodash/_baseOrderBy.js","webpack:///./search/store/constants.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/scorer.js","webpack:////build/source/node_modules/lodash/_compareAscending.js","webpack:////build/source/node_modules/lodash/_createCompounder.js","webpack:////build/source/node_modules/lodash/orderBy.js","webpack:///./lib/utils/highlight.js","webpack:////build/source/node_modules/lodash/_deburrLetter.js","webpack:///./lib/utils/keycodes.js","webpack:////build/source/node_modules/lodash/words.js","webpack:////build/source/node_modules/lodash/_asciiWords.js","webpack:///./super_sidebar/components/nav_item.vue","webpack:///./super_sidebar/components/nav_item_link.vue?ca64","webpack:///super_sidebar/components/nav_item_link.vue","webpack:///./super_sidebar/components/nav_item_link.vue?0af8","webpack:///./super_sidebar/components/nav_item_link.vue","webpack:///./super_sidebar/components/nav_item_router_link.vue?29cc","webpack:///super_sidebar/components/nav_item_router_link.vue","webpack:///./super_sidebar/components/nav_item_router_link.vue?d908","webpack:///./super_sidebar/components/nav_item_router_link.vue","webpack:///./super_sidebar/components/nav_item.vue?515c","webpack:///super_sidebar/components/nav_item.vue","webpack:///./super_sidebar/components/nav_item.vue?433e","webpack:///./vue_shared/issuable/list/constants.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/fuzzaldrin.js","webpack:///./super_sidebar/utils.js","webpack:////build/source/node_modules/lodash/_baseMap.js","webpack:///./lib/utils/number_utils.js","webpack:////build/source/node_modules/lodash/escapeRegExp.js","webpack:////build/source/node_modules/@gitlab/ui/dist/components/base/collapse/collapse.js","webpack:////build/source/node_modules/immer/dist/immer.esm.js","webpack:///./search/store/utils.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/query.js","webpack:///./vue_shared/global_search/constants.js","webpack:///./super_sidebar/components/menu_section.vue","webpack:///super_sidebar/components/flyout_menu.vue","webpack:///./super_sidebar/components/flyout_menu.vue?7ee8","webpack:///./super_sidebar/components/flyout_menu.vue?34ce","webpack:///./super_sidebar/components/flyout_menu.vue?2042","webpack:///./super_sidebar/components/flyout_menu.vue","webpack:///./super_sidebar/components/menu_section.vue?43de","webpack:///super_sidebar/components/menu_section.vue","webpack:///./super_sidebar/components/menu_section.vue?1c66","webpack:///./super_sidebar/components/flyout_menu.vue?46b7","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/pathScorer.js","webpack:////build/source/node_modules/@gitlab/ui/dist/vendor/bootstrap-vue/src/components/collapse/helpers/bv-collapse.js","webpack:////build/source/node_modules/@gitlab/ui/dist/vendor/bootstrap-vue/src/components/collapse/collapse.js","webpack:////build/source/node_modules/lodash/_hasUnicodeWord.js","webpack:///./search/sidebar/constants/index.js","webpack:///./lib/utils/css_utils.js","webpack:////build/source/node_modules/lodash/_unicodeWords.js","webpack:////build/source/node_modules/lodash/deburr.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/matcher.js","webpack:///./super_sidebar/event_hub.js","webpack:////build/source/node_modules/lodash/_baseSortBy.js","webpack:////build/source/node_modules/lodash/kebabCase.js","webpack:////build/source/node_modules/fuzzaldrin-plus/lib/filter.js"],"names":["compareAscending","module","exports","object","other","orders","index","objCriteria","criteria","othCriteria","length","ordersLength","result","EventHub","constructor","this","$_all","Map","dispose","clear","$on","type","handler","handlers","get","push","set","$off","newHandlers","filter","x","delete","$once","_this","wrapHandler","args","$emit","forEach","logError","message","console","error","arrayMap","baseGet","baseIteratee","baseMap","baseSortBy","baseUnary","compareMultiple","identity","isArray","collection","iteratees","iteratee","value","key","MAX_FREQUENT_ITEMS","MAX_FREQUENCY","GROUPS_LOCAL_STORAGE_KEY","PROJECTS_LOCAL_STORAGE_KEY","SIDEBAR_PARAMS","STATE_FILTER_PARAM","CONFIDENTAL_FILTER_PARAM","LANGUAGE_FILTER_PARAM","LABEL_FILTER_PARAM","INCLUDE_ARCHIVED_FILTER_PARAM","INCLUDE_FORKED_FILTER_PARAM","SOURCE_BRANCH_PARAM","NOT_SOURCE_BRANCH_PARAM","AUTHOR_PARAM","NOT_AUTHOR_PARAM","REGEX_PARAM","NUMBER_FORMATING_OPTIONS","notation","compactDisplay","ICON_MAP","blobs","issues","_window$gon","window","gon","features","workItemScopeFrontend","epics","merge_requests","commits","notes","milestones","users","projects","wiki_blobs","snippet_titles","SUBITEMS_FILTER","issue","order","icon","task","objective","key_result","SCOPE_NAVIGATION_MAP","s__","_window$gon2","ZOEKT_SEARCH_TYPE","ADVANCED_SEARCH_TYPE","BASIC_SEARCH_TYPE","SEARCH_LEVEL_GLOBAL","SEARCH_LEVEL_PROJECT","SEARCH_LEVEL_GROUP","LS_REGEX_HANDLE","AcronymResult","computeScore","emptyAcronymResult","isAcronymFullWord","isMatch","isSeparator","isWordEnd","isWordStart","scoreAcronyms","scoreCharacter","scoreConsecutives","scoreExact","scoreExactMatch","scorePattern","scorePosition","scoreSize","score","string","query","options","preparedQuery","string_lw","allowErrors","core_lw","core_up","toLowerCase","Math","ceil","subject","query_lw","query_up","i","j","m","n","qj_lw","qj_up","si","charCodeAt","subject_lw","acro","acro_score","align","csc_diag","csc_row","csc_score","csc_should_rebuild","miss_budget","miss_left","pos","record_miss","score_diag","score_row","score_up","si_lw","start","sz","count","indexOf","Array","charCodes","max","curr_s","prev_s","len","next_s","c","sc","abs","quality","sameCase","end","bonus","posBonus","startOfWord","k","mi","nj","pos2","fullWord","sepCount","sumPos","nbAcronymInQuery","call","isSymbol","valIsDefined","undefined","valIsNull","valIsReflexive","valIsSymbol","othIsDefined","othIsNull","othIsReflexive","othIsSymbol","arrayReduce","deburr","words","reApos","RegExp","callback","replace","baseOrderBy","guard","highlight","match","matchPrefix","matchSuffix","sanitize","toString","ALLOWED_TAGS","sanitizedValue","occurrences","fuzzaldrinPlus","split","map","character","includes","join","deburrLetter","basePropertyOf","BACKSPACE_KEY_CODE","TAB_KEY_CODE","ENTER_KEY_CODE","ESC_KEY_CODE","UP_KEY_CODE","DOWN_KEY_CODE","DELETE_KEY_CODE","asciiWords","hasUnicodeWord","unicodeWords","pattern","reAsciiWord","props","item","Object","required","computed","isActive","is_active","linkProps","href","link","ariaCurrent","computedLinkClasses","NAV_ITEM_LINK_ACTIVE_CLASS","_vm","_c","_self","_b","class","on","$event","_t","to","methods","attrs","$options","scopedSlots","_u","fn","navigate","i18n","pin","pinItem","unpin","unpinItem","name","components","GlAvatar","GlButton","GlIcon","GlBadge","NavItemLink","NavItemRouterLink","directives","GlTooltip","GlTooltipDirective","inject","pinnedItemIds","default","ids","panelSupportsPins","panelType","isInPinnedSection","Boolean","isStatic","linkClasses","isSubitem","isFlyout","asyncCount","data","isMouseIn","canClickPinButton","pillData","pill_count_field","formatAsyncCount","pill_count","hasPill","Number","isFinite","isPinnable","isPinned","id","trackingProps","_this$item$id","extraData","JSON","stringify","title","CLICK_PINNED_MENU_ITEM_ACTION","CLICK_MENU_ITEM_ACTION","TRACKING_UNKNOWN_ID","TRACKING_UNKNOWN_PANEL","qaSubMenuItem","_this$item$data_metho","$attrs","data_method","link_classes","navItemLinkComponent","hasAvatar","entity_id","hasEndSpace","avatarShape","avatar_shape","pinAriaLabel","sprintf","unpinAriaLabel","activeIndicatorStyle","style","width","borderRadius","marginRight","transform","mounted","$el","scrollIntoView","behavior","block","inline","eventHub","updatePillValue","destroyed","pinAdd","pinRemove","togglePointerEvents","itemId","staticClass","tag","_v","_e","avatar","_s","subtitle","rawName","expression","modifiers","issuableListTabs","STATUS_OPEN","__","titleTooltip","STATUS_CLOSED","STATUS_ALL","mergeRequestListTabs","STATUS_MERGED","availableSortOptions","sortDirection","descending","ascending","DEFAULT_PAGE_SIZE","DEFAULT_SKELETON_COUNT","PAGE_SIZE_STORAGE_KEY","Query","defaultPathSeparator","matcher","parseOptions","pathScorer","preparedQueryCache","scorer","process","platform","candidates","usePathScoring","_results","_i","_ref","apply","wrap","prepareQuery","useExtensionBonus","pathSeparator","optCharRegEx","sortItemsByFrequencyAndLastAccess","items","sort","itemA","itemB","frequency","lastAccessedOn","getTopFrequentItems","maxCount","frequentItems","FREQUENT_ITEMS","ELIGIBLE_FREQUENCY","slice","updateItemAccess","contextItem","namespace","trackVisitsPath","now","Date","shouldUpdate","FIFTEEN_MINUTES_IN_MS","axios","url","method","catch","e","Sentry","trackContextAccess","username","context","AccessorUtilities","canUseLocalStorage","storageKey","storedRawItems","localStorage","getItem","storedItems","parse","existingItemIndex","findIndex","cachedItem","newItem","MAX_COUNT","pop","setItem","isValidNumber","numberToMetricPrefix","baseEach","isArrayLike","bytesToMiB","number","BYTES_IN_KIB","bytesToGiB","numberToHumanSizeSplit","size","digits","locale","digitsOptions","minimumFractionDigits","maximumFractionDigits","formatNumberWithLocaleAndDigits","formatNumber","numberToHumanSize","humanSize","label","uppercase","THOUSAND","MILLION","toFixed","median","arr","middle","floor","sorted","a","b","changeInPercent","firstY","lastY","round","formattedChangeInPercent","nonFiniteResult","change","isNumeric","isNaN","parseInt","numberRegex","isPositiveInteger","test","countFloatingPointDigits","num","decimal","parts","String","integer","splitDecimalNumber","reRegExpChar","reHasRegExpChar","source","__vue_script__","BCollapse","model","prop","event","visible","__vue_component__","render","_h","$createElement","_g","$listeners","staticRenderFns","r","arguments","t","Error","Q","getPrototypeOf","hasOwnProperty","Function","Z","L","s","v","o","keys","nn","u","has","prototype","f","add","X","q","Set","p","l","rn","writable","configurable","enumerable","create","d","y","h","freeze","isFrozen","tn","_","U","O","g","S","w","P","M","H","A","I","R","D","concat","F","z","getOwnPropertyDescriptor","E","N","T","C","en","Proxy","revocable","revoke","proxy","J","K","from","G","W","Symbol","B","Reflect","for","iterator","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","getOwnPropertyDescriptors","deleteProperty","defineProperty","setPrototypeOf","an","produce","Promise","then","produceWithPatches","useProxies","setUseProxies","autoFreeze","setAutoFreeze","createDraft","finishDraft","applyPatches","path","op","$","bind","extractKeys","keyList","fromEntries","loadDataFromLS","removeItem","setDataToLS","setFrequentItemToLS","itemData","obj","currentFrequency","min","lastUsed","getTime","mergeById","inflatedData","storedData","find","isSidebarDirty","currentQuery","urlQuery","some","param","userAddedParam","userChangedExistingParam","_isEqual","formatSearchResultCount","countNumber","getAggregationsUrl","currentUrl","URL","location","pathname","joinPaths","sortLanguages","state","entries","_state$query","queriedLanguages","queriedLanguagesSet","_orderBy","prepareSearchAggregations","aggregationData","buckets","LABEL_AGREGATION_NAME","array","addCountOverLimit","injectRegexSearch","urlObject","getBaseURL","queryObject","queryToObject","search","project_id","group_id","_isEmpty","objectToQuery","scopeCrawler","navigation","parentScope","values","active","scope","sub_items","subItemScope","coreChars","countDir","getCharCodes","getExtension","opt_char_re","truncatedUpperCase","_arg","_ref1","core","depth","ext","str","upper","_len","toUpperCase","AUTOCOMPLETE_ERROR_MESSAGE","NO_SEARCH_RESULTS","ALL_GITLAB","PLACES","COMMAND_PALETTE","DESCRIBE_LABEL_FILTER","DESCRIBE_LABEL_FILTER_INPUT","SEARCH_DESCRIBED_BY_DEFAULT","SEARCH_DESCRIBED_BY_WITH_RESULTS","SEARCH_DESCRIBED_BY_UPDATED","SEARCH_RESULTS_LOADING","MIN_SEARCH_TERM","MSG_ISSUES_ASSIGNED_TO_ME","MSG_ISSUES_IVE_CREATED","MSG_MR_ASSIGNED_TO_ME","MSG_MR_IM_REVIEWER","MSG_MR_IVE_CREATED","MSG_IN_ALL_GITLAB","GROUPS_CATEGORY","PROJECTS_CATEGORY","USERS_CATEGORY","ISSUES_CATEGORY","MERGE_REQUEST_CATEGORY","RECENT_EPICS_CATEGORY","IN_THIS_PROJECT_CATEGORY","SETTINGS_CATEGORY","HELP_CATEGORY","SEARCH_RESULTS_ORDER","SEARCH_LABELS","DROPDOWN_HEADER","AGGREGATIONS_ERROR_MESSAGE","NO_LABELS_FOUND","COMMAND_PALETTE_TIP","COMMAND_PALETTE_TYPE_PAGES","COMMAND_PALETTE_TYPE_FILES","COMMAND_PALETTE_SEARCH_SCOPE_HEADER","COMMAND_PALETTE_PAGES_SCOPE_HEADER","COMMAND_PALETTE_USERS_SCOPE_HEADER","COMMAND_PALETTE_PROJECTS_SCOPE_HEADER","COMMAND_PALETTE_FILES_SCOPE_HEADER","COMMAND_PALETTE_PAGES_CHAR","COMMAND_PALETTE_USERS_CHAR","COMMAND_PALETTE_PROJECTS_CHAR","COMMAND_PALETTE_FILES_CHAR","I18N","NavItem","targetId","currentMouseX","flyoutX","flyoutY","flyoutHeight","hoverTimeoutId","showSVG","targetRect","cleanupFunction","topSVGPoints","top","bottomSVGPoints","bottom","flyoutStyle","padding","created","document","querySelector","addEventListener","onMouseMove","target","flyout","sidebar","autoUpdate","computePosition","middleware","offset","mainAxis","alignmentAxis","flip","shift","placement","strategy","assign","left","clientHeight","getBoundingClientRect","sidebarRect","beforeUnmount","_this$$options$cleanu","_this$$options","clearTimeout","beforeDestroy","removeEventListener","startHoverTimeout","_this2","setTimeout","stopHoverTimeout","clientX","locals","_l","itemTitle","ref","GlCollapse","FlyoutMenu","expanded","separated","hasFlyout","isExpanded","isMouseOverSection","isMouseOverFlyout","keepFlyoutClosed","buttonProps","collapseIcon","_kebabCase","isMouseOver","watch","newIsExpanded","handlePointerover","pointerType","handlePointerleave","staticStyle","$$v","subItem","getExtensionScore","scorePath","fullPathScore","alpha","basePathScore","basePos","extAdjust","fileLength","lastIndexOf","substr","candidate","startPos","endPos","maxDepth","matched","TRANSITION_PROPS","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","TRANSITION_HANDLERS","enter","el","scrollHeight","afterEnter","leave","height","afterLeave","appear","BVCollapse","functional","children","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","ROOT_EVENT_NAME_ACCORDION","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","mixin","modelMixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","defaultValue","accordion","mixins","show","transitioning","collapse","close","newValue","oldValue","emitState","listenOnRoot","handleToggleEvent","handleAccordionEvent","$nextTick","safeId","emitSync","emitOnRoot","toggle","openedId","openAccordion","isThis","$content","classObject","normalizeSlot","slotScope","onEnter","onAfterEnter","onLeave","onAfterLeave","reHasUnicodeWord","SCOPE_ISSUES","SCOPE_MERGE_REQUESTS","SCOPE_BLOB","SCOPE_PROJECTS","SCOPE_NOTES","SCOPE_COMMITS","SCOPE_MILESTONES","SCOPE_WIKI_BLOBS","LABEL_DEFAULT_CLASSES","NAV_LINK_DEFAULT_CLASSES","NAV_LINK_COUNT_DEFAULT_CLASSES","TRACKING_ACTION_CLICK","TRACKING_LABEL_APPLY","TRACKING_LABEL_RESET","ARCHIVED_TRACKING_NAMESPACE","ARCHIVED_TRACKING_LABEL_CHECKBOX","ARCHIVED_TRACKING_LABEL_CHECKBOX_LABEL","SEARCH_TYPE_ADVANCED","SEARCH_TYPE_ZOEKT","SEARCH_ICON","USER_ICON","ANY_OPTION","name_with_namespace","GROUP_DATA","headerText","queryParam","fullName","PROJECT_DATA","EVENT_CLICK_ZOEKT_INCLUDE_FORKS_ON_SEARCH_RESULTS_PAGE","EVENT_SELECT_SOURCE_BRANCH_FILTER_ON_MERGE_REQUEST_PAGE","LANGUAGE_DEFAULT_ITEM_LENGTH","LANGUAGE_MAX_ITEM_LENGTH","FIRST_DROPDOWN_INDEX","SEARCH_BOX_INDEX","SEARCH_INPUT_DESCRIPTION","SEARCH_RESULTS_DESCRIPTION","LABEL_FILTER_HEADER","SOURCE_BRANCH_ENDPOINT_PATH","AUTHOR_ENDPOINT_PATH","CONFIDENTIAL_FILTERS","ANY","CONFIDENTIAL","NOT_CONFIDENTIAL","STATE_FILTERS","OPEN","CLOSED","MERGED","loadCSSFile","resolve","linkElement","createElement","rel","media","onload","head","appendChild","getCssVariable","variable","getComputedStyle","documentElement","getPropertyValue","trim","getCssClassDimensions","className","body","remove","getSystemColorScheme","user_color_mode","GL_SYSTEM","matchMedia","PREFERS_DARK","matches","GL_DARK","GL_LIGHT","handleColorSchemeChange","onEvent","listenSystemColorSchemeChange","removeListenerSystemColorSchemeChange","isNarrowScreenMediaQuery","computedStyles","largeBreakpointSize","isNarrowScreen","isNarrowScreenAddListener","handlerFn","isNarrowScreenRemoveListener","rsBreakRange","rsMathOpRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsRegional","rsSurrPair","rsUpper","rsMiscLower","rsMiscUpper","reOptMod","rsModifier","rsSeq","rsEmoji","reUnicodeWord","reLatin","reComboMark","basenameMatch","computeMatch","mergeMatches","baseMatches","matchIndex","matchPos","matchPositions","output","strPos","tagClass","tagClose","tagOpen","substring","ai","bj","out","backtrack","move","trace","reverse","createEventHub","comparer","kebabCase","createCompounder","word","pluckCandidates","sortCandidates","bKey","maxInners","maxResults","scoreProvider","scoredCandidates","spotLeft"],"mappings":"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","file":"commons-pages.search.show-super_sidebar.5f6b2b7e.chunk.js","sourcesContent":["var compareAscending = require('./_compareAscending');\n\n/**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\nfunction compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n}\n\nmodule.exports = compareMultiple;\n","/**\n * An event hub with a Vue instance like API\n *\n * NOTE: This is a derivative work from [mitt][1] v1.2.0 which is licensed by\n * [MIT License][2] © [Jason Miller][3]\n *\n * [1]: https://github.com/developit/mitt\n * [2]: https://opensource.org/licenses/MIT\n * [3]: https://jasonformat.com/\n */\nclass EventHub {\n constructor() {\n this.$_all = new Map();\n }\n\n dispose() {\n this.$_all.clear();\n }\n\n /**\n * Register an event handler for the given type.\n *\n * @param {string|symbol} type Type of event to listen for\n * @param {Function} handler Function to call in response to given event\n */\n $on(type, handler) {\n const handlers = this.$_all.get(type);\n const added = handlers && handlers.push(handler);\n\n if (!added) {\n this.$_all.set(type, [handler]);\n }\n }\n\n /**\n * Remove an event handler or all handlers for the given type.\n *\n * @param {string|symbol} type Type of event to unregister `handler`\n * @param {Function} handler Handler function to remove\n */\n $off(type, handler) {\n const handlers = this.$_all.get(type) || [];\n\n const newHandlers = handler ? handlers.filter((x) => x !== handler) : [];\n\n if (newHandlers.length) {\n this.$_all.set(type, newHandlers);\n } else {\n this.$_all.delete(type);\n }\n }\n\n /**\n * Add an event listener to type but only trigger it once\n *\n * @param {string|symbol} type Type of event to listen for\n * @param {Function} handler Handler function to call in response to event\n */\n $once(type, handler) {\n const wrapHandler = (...args) => {\n this.$off(type, wrapHandler);\n handler(...args);\n };\n this.$on(type, wrapHandler);\n }\n\n /**\n * Invoke all handlers for the given type.\n *\n * @param {string|symbol} type The event type to invoke\n * @param {Any} [evt] Any value passed to each handler\n */\n $emit(type, ...args) {\n const handlers = this.$_all.get(type) || [];\n\n handlers.forEach((handler) => {\n handler(...args);\n });\n }\n}\n\n/**\n * Return a Vue like event hub\n *\n * - $on\n * - $off\n * - $once\n * - $emit\n *\n * We'd like to shy away from using a full fledged Vue instance from this in the future.\n */\nexport default () => {\n return new EventHub();\n};\n","/* eslint-disable no-console */\nexport const LOG_PREFIX = '[gitlab]';\n\nexport const logError = (message = '', ...args) => {\n console.error(LOG_PREFIX, `${message}\\n`, ...args);\n};\n","var arrayMap = require('./_arrayMap'),\n baseGet = require('./_baseGet'),\n baseIteratee = require('./_baseIteratee'),\n baseMap = require('./_baseMap'),\n baseSortBy = require('./_baseSortBy'),\n baseUnary = require('./_baseUnary'),\n compareMultiple = require('./_compareMultiple'),\n identity = require('./identity'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\nfunction baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(baseIteratee));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n}\n\nmodule.exports = baseOrderBy;\n","import { s__ } from '~/locale';\nimport {\n CONFIDENTAL_FILTER_PARAM,\n INCLUDE_ARCHIVED_FILTER_PARAM,\n LABEL_FILTER_PARAM,\n INCLUDE_FORKED_FILTER_PARAM,\n LANGUAGE_FILTER_PARAM,\n SOURCE_BRANCH_PARAM,\n NOT_SOURCE_BRANCH_PARAM,\n STATE_FILTER_PARAM,\n AUTHOR_PARAM,\n NOT_AUTHOR_PARAM,\n} from '~/search/sidebar/constants';\n\nexport const MAX_FREQUENT_ITEMS = 5;\n\nexport const MAX_FREQUENCY = 5;\n\nexport const GROUPS_LOCAL_STORAGE_KEY = 'global-search-frequent-groups';\n\nexport const PROJECTS_LOCAL_STORAGE_KEY = 'global-search-frequent-projects';\n\nexport const SIDEBAR_PARAMS = [\n STATE_FILTER_PARAM,\n CONFIDENTAL_FILTER_PARAM,\n LANGUAGE_FILTER_PARAM,\n LABEL_FILTER_PARAM,\n INCLUDE_ARCHIVED_FILTER_PARAM,\n INCLUDE_FORKED_FILTER_PARAM,\n SOURCE_BRANCH_PARAM,\n NOT_SOURCE_BRANCH_PARAM,\n AUTHOR_PARAM,\n NOT_AUTHOR_PARAM,\n];\n\nexport const REGEX_PARAM = 'regex';\n\nexport const NUMBER_FORMATING_OPTIONS = { notation: 'compact', compactDisplay: 'short' };\n\nexport const ICON_MAP = {\n blobs: 'code',\n issues: window.gon?.features?.workItemScopeFrontend ? 'work' : 'issues',\n epics: 'epic',\n merge_requests: 'merge-request',\n commits: 'commit',\n notes: 'comments',\n milestones: 'milestone',\n users: 'users',\n projects: 'project',\n wiki_blobs: 'book',\n snippet_titles: 'snippet',\n};\n\nexport const SUBITEMS_FILTER = {\n issue: { order: 2, icon: 'issue-type-issue' },\n task: { order: 3, icon: 'issue-type-task' },\n objective: { order: 4, icon: 'issue-type-objective' },\n key_result: { order: 1, icon: 'issue-type-keyresult' },\n};\n\nexport const SCOPE_NAVIGATION_MAP = {\n blobs: s__(`GlobalSearch|Code`),\n issues: window.gon?.features?.workItemScopeFrontend\n ? s__(`GlobalSearch|Work items`)\n : s__(`GlobalSearch|Issues`),\n epics: s__(`GlobalSearch|'Epics`),\n merge_requests: s__(`GlobalSearch|Merge request`),\n commits: s__(`GlobalSearch|Commits`),\n notes: s__(`GlobalSearch|Comments`),\n milestones: s__(`GlobalSearch|Milestones`),\n users: s__(`GlobalSearch|Users`),\n projects: s__(`GlobalSearch|Projects`),\n wiki_blobs: s__(`GlobalSearch|Wiki`),\n snippet_titles: s__(`GlobalSearch|Snippets`),\n};\n\nexport const ZOEKT_SEARCH_TYPE = 'zoekt';\nexport const ADVANCED_SEARCH_TYPE = 'advanced';\nexport const BASIC_SEARCH_TYPE = 'basic';\n\nexport const SEARCH_LEVEL_GLOBAL = 'global';\nexport const SEARCH_LEVEL_PROJECT = 'project';\nexport const SEARCH_LEVEL_GROUP = 'group';\n\nexport const LS_REGEX_HANDLE = `${REGEX_PARAM}_advanced_search`;\n","(function() {\n var AcronymResult, computeScore, emptyAcronymResult, isAcronymFullWord, isMatch, isSeparator, isWordEnd, isWordStart, miss_coeff, pos_bonus, scoreAcronyms, scoreCharacter, scoreConsecutives, scoreExact, scoreExactMatch, scorePattern, scorePosition, scoreSize, tau_size, wm;\n\n wm = 150;\n\n pos_bonus = 20;\n\n tau_size = 150;\n\n miss_coeff = 0.75;\n\n exports.score = function(string, query, options) {\n var allowErrors, preparedQuery, score, string_lw;\n preparedQuery = options.preparedQuery, allowErrors = options.allowErrors;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return 0;\n }\n string_lw = string.toLowerCase();\n score = computeScore(string, string_lw, preparedQuery);\n return Math.ceil(score);\n };\n\n exports.isMatch = isMatch = function(subject, query_lw, query_up) {\n var i, j, m, n, qj_lw, qj_up, si;\n m = subject.length;\n n = query_lw.length;\n if (!m || n > m) {\n return false;\n }\n i = -1;\n j = -1;\n while (++j < n) {\n qj_lw = query_lw.charCodeAt(j);\n qj_up = query_up.charCodeAt(j);\n while (++i < m) {\n si = subject.charCodeAt(i);\n if (si === qj_lw || si === qj_up) {\n break;\n }\n }\n if (i === m) {\n return false;\n }\n }\n return true;\n };\n\n exports.computeScore = computeScore = function(subject, subject_lw, preparedQuery) {\n var acro, acro_score, align, csc_diag, csc_row, csc_score, csc_should_rebuild, i, j, m, miss_budget, miss_left, n, pos, query, query_lw, record_miss, score, score_diag, score_row, score_up, si_lw, start, sz;\n query = preparedQuery.query;\n query_lw = preparedQuery.query_lw;\n m = subject.length;\n n = query.length;\n acro = scoreAcronyms(subject, subject_lw, query, query_lw);\n acro_score = acro.score;\n if (acro.count === n) {\n return scoreExact(n, m, acro_score, acro.pos);\n }\n pos = subject_lw.indexOf(query_lw);\n if (pos > -1) {\n return scoreExactMatch(subject, subject_lw, query, query_lw, pos, n, m);\n }\n score_row = new Array(n);\n csc_row = new Array(n);\n sz = scoreSize(n, m);\n miss_budget = Math.ceil(miss_coeff * n) + 5;\n miss_left = miss_budget;\n csc_should_rebuild = true;\n j = -1;\n while (++j < n) {\n score_row[j] = 0;\n csc_row[j] = 0;\n }\n i = -1;\n while (++i < m) {\n si_lw = subject_lw[i];\n if (!si_lw.charCodeAt(0) in preparedQuery.charCodes) {\n if (csc_should_rebuild) {\n j = -1;\n while (++j < n) {\n csc_row[j] = 0;\n }\n csc_should_rebuild = false;\n }\n continue;\n }\n score = 0;\n score_diag = 0;\n csc_diag = 0;\n record_miss = true;\n csc_should_rebuild = true;\n j = -1;\n while (++j < n) {\n score_up = score_row[j];\n if (score_up > score) {\n score = score_up;\n }\n csc_score = 0;\n if (query_lw[j] === si_lw) {\n start = isWordStart(i, subject, subject_lw);\n csc_score = csc_diag > 0 ? csc_diag : scoreConsecutives(subject, subject_lw, query, query_lw, i, j, start);\n align = score_diag + scoreCharacter(i, j, start, acro_score, csc_score);\n if (align > score) {\n score = align;\n miss_left = miss_budget;\n } else {\n if (record_miss && --miss_left <= 0) {\n return Math.max(score, score_row[n - 1]) * sz;\n }\n record_miss = false;\n }\n }\n score_diag = score_up;\n csc_diag = csc_row[j];\n csc_row[j] = csc_score;\n score_row[j] = score;\n }\n }\n score = score_row[n - 1];\n return score * sz;\n };\n\n exports.isWordStart = isWordStart = function(pos, subject, subject_lw) {\n var curr_s, prev_s;\n if (pos === 0) {\n return true;\n }\n curr_s = subject[pos];\n prev_s = subject[pos - 1];\n return isSeparator(prev_s) || (curr_s !== subject_lw[pos] && prev_s === subject_lw[pos - 1]);\n };\n\n exports.isWordEnd = isWordEnd = function(pos, subject, subject_lw, len) {\n var curr_s, next_s;\n if (pos === len - 1) {\n return true;\n }\n curr_s = subject[pos];\n next_s = subject[pos + 1];\n return isSeparator(next_s) || (curr_s === subject_lw[pos] && next_s !== subject_lw[pos + 1]);\n };\n\n isSeparator = function(c) {\n return c === ' ' || c === '.' || c === '-' || c === '_' || c === '/' || c === '\\\\';\n };\n\n scorePosition = function(pos) {\n var sc;\n if (pos < pos_bonus) {\n sc = pos_bonus - pos;\n return 100 + sc * sc;\n } else {\n return Math.max(100 + pos_bonus - pos, 0);\n }\n };\n\n exports.scoreSize = scoreSize = function(n, m) {\n return tau_size / (tau_size + Math.abs(m - n));\n };\n\n scoreExact = function(n, m, quality, pos) {\n return 2 * n * (wm * quality + scorePosition(pos)) * scoreSize(n, m);\n };\n\n exports.scorePattern = scorePattern = function(count, len, sameCase, start, end) {\n var bonus, sz;\n sz = count;\n bonus = 6;\n if (sameCase === count) {\n bonus += 2;\n }\n if (start) {\n bonus += 3;\n }\n if (end) {\n bonus += 1;\n }\n if (count === len) {\n if (start) {\n if (sameCase === len) {\n sz += 2;\n } else {\n sz += 1;\n }\n }\n if (end) {\n bonus += 1;\n }\n }\n return sameCase + sz * (sz + bonus);\n };\n\n exports.scoreCharacter = scoreCharacter = function(i, j, start, acro_score, csc_score) {\n var posBonus;\n posBonus = scorePosition(i);\n if (start) {\n return posBonus + wm * ((acro_score > csc_score ? acro_score : csc_score) + 10);\n }\n return posBonus + wm * csc_score;\n };\n\n exports.scoreConsecutives = scoreConsecutives = function(subject, subject_lw, query, query_lw, i, j, startOfWord) {\n var k, m, mi, n, nj, sameCase, sz;\n m = subject.length;\n n = query.length;\n mi = m - i;\n nj = n - j;\n k = mi < nj ? mi : nj;\n sameCase = 0;\n sz = 0;\n if (query[j] === subject[i]) {\n sameCase++;\n }\n while (++sz < k && query_lw[++j] === subject_lw[++i]) {\n if (query[j] === subject[i]) {\n sameCase++;\n }\n }\n if (sz < k) {\n i--;\n }\n if (sz === 1) {\n return 1 + 2 * sameCase;\n }\n return scorePattern(sz, n, sameCase, startOfWord, isWordEnd(i, subject, subject_lw, m));\n };\n\n exports.scoreExactMatch = scoreExactMatch = function(subject, subject_lw, query, query_lw, pos, n, m) {\n var end, i, pos2, sameCase, start;\n start = isWordStart(pos, subject, subject_lw);\n if (!start) {\n pos2 = subject_lw.indexOf(query_lw, pos + 1);\n if (pos2 > -1) {\n start = isWordStart(pos2, subject, subject_lw);\n if (start) {\n pos = pos2;\n }\n }\n }\n i = -1;\n sameCase = 0;\n while (++i < n) {\n if (query[pos + i] === subject[i]) {\n sameCase++;\n }\n }\n end = isWordEnd(pos + n - 1, subject, subject_lw, m);\n return scoreExact(n, m, scorePattern(n, n, sameCase, start, end), pos);\n };\n\n AcronymResult = (function() {\n function AcronymResult(score, pos, count) {\n this.score = score;\n this.pos = pos;\n this.count = count;\n }\n\n return AcronymResult;\n\n })();\n\n emptyAcronymResult = new AcronymResult(0, 0.1, 0);\n\n exports.scoreAcronyms = scoreAcronyms = function(subject, subject_lw, query, query_lw) {\n var count, fullWord, i, j, m, n, qj_lw, sameCase, score, sepCount, sumPos;\n m = subject.length;\n n = query.length;\n if (!(m > 1 && n > 1)) {\n return emptyAcronymResult;\n }\n count = 0;\n sepCount = 0;\n sumPos = 0;\n sameCase = 0;\n i = -1;\n j = -1;\n while (++j < n) {\n qj_lw = query_lw[j];\n if (isSeparator(qj_lw)) {\n i = subject_lw.indexOf(qj_lw, i + 1);\n if (i > -1) {\n sepCount++;\n continue;\n } else {\n break;\n }\n }\n while (++i < m) {\n if (qj_lw === subject_lw[i] && isWordStart(i, subject, subject_lw)) {\n if (query[j] === subject[i]) {\n sameCase++;\n }\n sumPos += i;\n count++;\n break;\n }\n }\n if (i === m) {\n break;\n }\n }\n if (count < 2) {\n return emptyAcronymResult;\n }\n fullWord = count === n ? isAcronymFullWord(subject, subject_lw, query, count) : false;\n score = scorePattern(count, n, sameCase, true, fullWord);\n return new AcronymResult(score, sumPos / count, count + sepCount);\n };\n\n isAcronymFullWord = function(subject, subject_lw, query, nbAcronymInQuery) {\n var count, i, m, n;\n m = subject.length;\n n = query.length;\n count = 0;\n if (m > 12 * n) {\n return false;\n }\n i = -1;\n while (++i < m) {\n if (isWordStart(i, subject, subject_lw) && ++count > nbAcronymInQuery) {\n return false;\n }\n }\n return true;\n };\n\n}).call(this);\n","var isSymbol = require('./isSymbol');\n\n/**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\nfunction compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n}\n\nmodule.exports = compareAscending;\n","var arrayReduce = require('./_arrayReduce'),\n deburr = require('./deburr'),\n words = require('./words');\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nmodule.exports = createCompounder;\n","var baseOrderBy = require('./_baseOrderBy'),\n isArray = require('./isArray');\n\n/**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\nfunction orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n}\n\nmodule.exports = orderBy;\n","import fuzzaldrinPlus from 'fuzzaldrin-plus';\nimport { sanitize } from '~/lib/dompurify';\n\n/**\n * Wraps substring matches with HTML `` elements.\n * Inputs are sanitized before highlighting, so this\n * filter is safe to use with `v-html` (as long as `matchPrefix`\n * and `matchSuffix` are not being dynamically generated).\n *\n * Note that this function can't be used inside `v-html` as a filter\n * (Vue filters cannot be used inside `v-html`).\n *\n * @param {String} string The string to highlight\n * @param {String} match The substring match to highlight in the string\n * @param {String} matchPrefix The string to insert at the beginning of a match\n * @param {String} matchSuffix The string to insert at the end of a match\n */\n// eslint-disable-next-line max-params\nexport default function highlight(string, match = '', matchPrefix = '', matchSuffix = '') {\n if (!string) {\n return '';\n }\n\n if (!match) {\n return sanitize(string.toString(), { ALLOWED_TAGS: [] });\n }\n\n const sanitizedValue = sanitize(string.toString(), { ALLOWED_TAGS: [] });\n\n // occurrences is an array of character indices that should be\n // highlighted in the original string, i.e. [3, 4, 5, 7]\n const occurrences = fuzzaldrinPlus.match(sanitizedValue, match.toString());\n\n return sanitizedValue\n .split('')\n .map((character, i) => {\n if (occurrences.includes(i)) {\n return `${matchPrefix}${character}${matchSuffix}`;\n }\n\n return character;\n })\n .join('');\n}\n","var basePropertyOf = require('./_basePropertyOf');\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nmodule.exports = deburrLetter;\n","// `e.keyCode` is deprecated, these values should be migrated\n// See: https://gitlab.com/gitlab-org/gitlab/-/issues/216102\n\nexport const BACKSPACE_KEY_CODE = 8;\nexport const TAB_KEY_CODE = 9;\nexport const ENTER_KEY_CODE = 13;\nexport const ESC_KEY_CODE = 27;\nexport const UP_KEY_CODE = 38;\nexport const DOWN_KEY_CODE = 40;\nexport const DELETE_KEY_CODE = 46;\n","var asciiWords = require('./_asciiWords'),\n hasUnicodeWord = require('./_hasUnicodeWord'),\n toString = require('./toString'),\n unicodeWords = require('./_unicodeWords');\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nmodule.exports = words;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nmodule.exports = asciiWords;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"show-on-focus-or-hover--context hide-on-focus-or-hover--context transition-opacity-on-hover--context gl-relative\",attrs:{\"data-testid\":\"nav-item\"},on:{\"mouseenter\":function($event){_vm.isMouseIn = true},\"mouseleave\":function($event){_vm.isMouseIn = false}}},[_c(_vm.navItemLinkComponent,_vm._b({tag:\"component\",staticClass:\"super-sidebar-nav-item show-on-focus-or-hover--control hide-on-focus-or-hover--control gl-relative gl-mb-1 gl-flex gl-min-h-7 gl-items-center gl-gap-3 gl-py-2 !gl-text-default !gl-no-underline focus:gl-focus\",class:_vm.computedLinkClasses,attrs:{\"data-testid\":\"nav-item-link\",\"aria-label\":_vm.item.title},on:{\"nav-link-click\":function($event){return _vm.$emit('nav-link-click')}},scopedSlots:_vm._u([{key:\"default\",fn:function({ isActive }){return [_c('div',{staticClass:\"active-indicator gl-absolute gl-bottom-2 gl-left-2 gl-top-2 gl-transition-all gl-duration-slow\",class:[isActive ? 'gl-opacity-10' : 'gl-opacity-0'],style:(_vm.activeIndicatorStyle),attrs:{\"aria-hidden\":\"true\",\"data-testid\":\"active-indicator\"}}),_vm._v(\" \"),(!_vm.isFlyout)?_c('div',{staticClass:\"gl-flex gl-w-6 gl-shrink-0\",class:{ 'gl-self-start': _vm.hasAvatar }},[_vm._t(\"icon\",function(){return [(_vm.item.icon)?_c('gl-icon',{staticClass:\"super-sidebar-nav-item-icon gl-m-auto\",attrs:{\"name\":_vm.item.icon}}):(_vm.isInPinnedSection)?_c('gl-icon',{staticClass:\"js-draggable-icon show-on-focus-or-hover--target super-sidebar-mix-blend-mode gl-m-auto gl-cursor-grab\",attrs:{\"name\":\"grip\",\"variant\":\"subtle\"}}):(_vm.hasAvatar)?_c('gl-avatar',{attrs:{\"size\":24,\"shape\":_vm.avatarShape,\"entity-name\":_vm.item.title,\"entity-id\":_vm.item.entity_id,\"src\":_vm.item.avatar}}):_vm._e()]})],2):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"gl-grow gl-break-all gl-text-default\",class:{ 'gl-w-max': _vm.isFlyout },attrs:{\"data-testid\":\"nav-item-link-label\"}},[_vm._v(\"\\n \"+_vm._s(_vm.item.title)+\"\\n \"),(_vm.item.subtitle)?_c('div',{staticClass:\"gl-truncate-end gl-text-sm gl-text-subtle\"},[_vm._v(\"\\n \"+_vm._s(_vm.item.subtitle)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_vm._t(\"actions\"),_vm._v(\" \"),(_vm.hasEndSpace)?_c('span',{staticClass:\"gl-flex gl-min-w-6 gl-items-start gl-justify-end\"},[(_vm.hasPill)?_c('gl-badge',{class:{\n 'hide-on-focus-or-hover--target transition-opacity-on-hover--target': _vm.isPinnable,\n },attrs:{\"variant\":\"neutral\"}},[_vm._v(\"\\n \"+_vm._s(_vm.pillData)+\"\\n \")]):_vm._e()],1):_vm._e()]}}],null,true)},'component',_vm.linkProps,false)),_vm._v(\" \"),(_vm.isPinnable)?[(_vm.isPinned)?_c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.noninteractive.right.viewport\",value:(_vm.$options.i18n.unpinItem),expression:\"$options.i18n.unpinItem\",modifiers:{\"noninteractive\":true,\"right\":true,\"viewport\":true}}],staticClass:\"show-on-focus-or-hover--target transition-opacity-on-hover--target always-animate gl-absolute gl-right-3 gl-top-1/2 -gl-translate-y-1/2\",class:{ 'gl-pointer-events-none': !_vm.canClickPinButton },attrs:{\"aria-label\":_vm.unpinAriaLabel,\"category\":\"tertiary\",\"data-testid\":\"nav-item-unpin\",\"icon\":\"thumbtack-solid\",\"size\":\"small\"},on:{\"click\":_vm.pinRemove,\"transitionend\":_vm.togglePointerEvents}}):_c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip.noninteractive.right.viewport\",value:(_vm.$options.i18n.pinItem),expression:\"$options.i18n.pinItem\",modifiers:{\"noninteractive\":true,\"right\":true,\"viewport\":true}}],staticClass:\"show-on-focus-or-hover--target transition-opacity-on-hover--target always-animate gl-absolute gl-right-3 gl-top-1/2 -gl-translate-y-1/2\",class:{ 'gl-pointer-events-none': !_vm.canClickPinButton },attrs:{\"aria-label\":_vm.pinAriaLabel,\"category\":\"tertiary\",\"data-testid\":\"nav-item-pin\",\"icon\":\"thumbtack\",\"size\":\"small\"},on:{\"click\":_vm.pinAdd,\"transitionend\":_vm.togglePointerEvents}})]:_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nav_item_link.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nav_item_link.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./nav_item_link.vue?vue&type=template&id=8a397898\"\nimport script from \"./nav_item_link.vue?vue&type=script&lang=js\"\nexport * from \"./nav_item_link.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('a',_vm._b({class:_vm.computedLinkClasses,on:{\"click\":function($event){return _vm.$emit('nav-link-click')}}},'a',_vm.linkProps,false),[_vm._t(\"default\",null,{\"isActive\":_vm.isActive})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nav_item_router_link.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nav_item_router_link.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./nav_item_router_link.vue?vue&type=template&id=0b7fb30e\"\nimport script from \"./nav_item_router_link.vue?vue&type=script&lang=js\"\nexport * from \"./nav_item_router_link.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('router-link',_vm._b({attrs:{\"active-class\":_vm.$options.NAV_ITEM_LINK_ACTIVE_CLASS,\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function({ href, navigate, isActive }){return [_c('a',{attrs:{\"href\":href,\"aria-current\":_vm.ariaCurrent(isActive)},on:{\"click\":navigate}},[_vm._t(\"default\",null,{\"isActive\":isActive})],2)]}}],null,true)},'router-link',_vm.linkProps,false))\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nav_item.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nav_item.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./nav_item.vue?vue&type=template&id=90cc93e0\"\nimport script from \"./nav_item.vue?vue&type=script&lang=js\"\nexport * from \"./nav_item.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { STATUS_ALL, STATUS_CLOSED, STATUS_OPEN, STATUS_MERGED } from '~/issues/constants';\nimport { __ } from '~/locale';\n\nexport const issuableListTabs = [\n {\n id: 'state-opened',\n name: STATUS_OPEN,\n title: __('Open'),\n titleTooltip: __('Filter by issues that are currently opened.'),\n },\n {\n id: 'state-closed',\n name: STATUS_CLOSED,\n title: __('Closed'),\n titleTooltip: __('Filter by issues that are currently closed.'),\n },\n {\n id: 'state-all',\n name: STATUS_ALL,\n title: __('All'),\n titleTooltip: __('Show all issues.'),\n },\n];\n\nexport const mergeRequestListTabs = [\n {\n id: 'state-opened',\n name: STATUS_OPEN,\n title: __('Open'),\n titleTooltip: __('Filter by merge requests that are currently opened.'),\n },\n {\n id: 'state-merged',\n name: STATUS_MERGED,\n title: __('Merged'),\n titleTooltip: __('Filter by merge requests that are merged.'),\n },\n {\n id: 'state-closed',\n name: STATUS_CLOSED,\n title: __('Closed'),\n titleTooltip: __('Filter by merge requests that are currently closed.'),\n },\n {\n id: 'state-all',\n name: STATUS_ALL,\n title: __('All'),\n titleTooltip: __('Show all merge requests.'),\n },\n];\n\nexport const availableSortOptions = [\n {\n id: 1,\n title: __('Created date'),\n sortDirection: {\n descending: 'created_desc',\n ascending: 'created_asc',\n },\n },\n {\n id: 2,\n title: __('Updated date'),\n sortDirection: {\n descending: 'updated_desc',\n ascending: 'updated_asc',\n },\n },\n];\n\nexport const DEFAULT_PAGE_SIZE = 20;\n\nexport const DEFAULT_SKELETON_COUNT = 5;\n\nexport const PAGE_SIZE_STORAGE_KEY = 'issuable_list_page_size';\n","(function() {\n var Query, defaultPathSeparator, filter, matcher, parseOptions, pathScorer, preparedQueryCache, scorer;\n\n filter = require('./filter');\n\n matcher = require('./matcher');\n\n scorer = require('./scorer');\n\n pathScorer = require('./pathScorer');\n\n Query = require('./query');\n\n preparedQueryCache = null;\n\n defaultPathSeparator = (typeof process !== \"undefined\" && process !== null ? process.platform : void 0) === \"win32\" ? '\\\\' : '/';\n\n module.exports = {\n filter: function(candidates, query, options) {\n if (options == null) {\n options = {};\n }\n if (!((query != null ? query.length : void 0) && (candidates != null ? candidates.length : void 0))) {\n return [];\n }\n options = parseOptions(options, query);\n return filter(candidates, query, options);\n },\n score: function(string, query, options) {\n if (options == null) {\n options = {};\n }\n if (!((string != null ? string.length : void 0) && (query != null ? query.length : void 0))) {\n return 0;\n }\n options = parseOptions(options, query);\n if (options.usePathScoring) {\n return pathScorer.score(string, query, options);\n } else {\n return scorer.score(string, query, options);\n }\n },\n match: function(string, query, options) {\n var _i, _ref, _results;\n if (options == null) {\n options = {};\n }\n if (!string) {\n return [];\n }\n if (!query) {\n return [];\n }\n if (string === query) {\n return (function() {\n _results = [];\n for (var _i = 0, _ref = string.length; 0 <= _ref ? _i < _ref : _i > _ref; 0 <= _ref ? _i++ : _i--){ _results.push(_i); }\n return _results;\n }).apply(this);\n }\n options = parseOptions(options, query);\n return matcher.match(string, query, options);\n },\n wrap: function(string, query, options) {\n if (options == null) {\n options = {};\n }\n if (!string) {\n return [];\n }\n if (!query) {\n return [];\n }\n options = parseOptions(options, query);\n return matcher.wrap(string, query, options);\n },\n prepareQuery: function(query, options) {\n if (options == null) {\n options = {};\n }\n options = parseOptions(options, query);\n return options.preparedQuery;\n }\n };\n\n parseOptions = function(options, query) {\n if (options.allowErrors == null) {\n options.allowErrors = false;\n }\n if (options.usePathScoring == null) {\n options.usePathScoring = true;\n }\n if (options.useExtensionBonus == null) {\n options.useExtensionBonus = false;\n }\n if (options.pathSeparator == null) {\n options.pathSeparator = defaultPathSeparator;\n }\n if (options.optCharRegEx == null) {\n options.optCharRegEx = null;\n }\n if (options.wrap == null) {\n options.wrap = null;\n }\n if (options.preparedQuery == null) {\n options.preparedQuery = preparedQueryCache && preparedQueryCache.query === query ? preparedQueryCache : (preparedQueryCache = new Query(query, options));\n }\n return options;\n };\n\n}).call(this);\n","import * as Sentry from '~/sentry/sentry_browser_wrapper';\nimport AccessorUtilities from '~/lib/utils/accessor';\nimport { FREQUENT_ITEMS, FIFTEEN_MINUTES_IN_MS } from '~/super_sidebar/constants';\nimport axios from '~/lib/utils/axios_utils';\nimport { numberToMetricPrefix } from '~/lib/utils/number_utils';\n\n/**\n * This takes an array of project or groups that were stored in the local storage, to be shown in\n * the context switcher, and sorts them by frequency and last access date.\n * In the resulting array, the most popular item (highest frequency and most recent access date) is\n * placed at the first index, while the least popular is at the last index.\n *\n * @param {Array} items The projects or groups stored in the local storage\n * @returns The items, sorted by frequency and last access date\n */\nconst sortItemsByFrequencyAndLastAccess = (items) =>\n items.sort((itemA, itemB) => {\n // Sort all frequent items in decending order of frequency\n // and then by lastAccessedOn with recent most first\n if (itemA.frequency !== itemB.frequency) {\n return itemB.frequency - itemA.frequency;\n }\n if (itemA.lastAccessedOn !== itemB.lastAccessedOn) {\n return itemB.lastAccessedOn - itemA.lastAccessedOn;\n }\n\n return 0;\n });\n\n/**\n * Returns the most frequently visited items.\n *\n * @param {Array} items - A list of items retrieved from the local storage\n * @param {Number} maxCount - The maximum number of items to be returned\n * @returns {Array}\n */\nexport const getTopFrequentItems = (items, maxCount) => {\n if (!Array.isArray(items)) return [];\n\n const frequentItems = items.filter((item) => item.frequency >= FREQUENT_ITEMS.ELIGIBLE_FREQUENCY);\n sortItemsByFrequencyAndLastAccess(frequentItems);\n\n return frequentItems.slice(0, maxCount);\n};\n\n/**\n * This tracks projects' and groups' visits in order to suggest a list of frequently visited\n * entities to the user. The suggestion logic is implemented server-side and computed items can be\n * retrieved through the GraphQL API.\n * To persist a visit in the DB, an AJAX request needs to be triggered by the client. To avoid making\n * the request on every visited page, we also keep track of the visits in the local storage so that\n * the request is only sent once every 15 minutes per namespace per user.\n *\n * @param {object} item The project/group item being tracked.\n * @param {string} namespace A string indicating whether the tracked entity is a project or a group.\n * @param {string} trackVisitsPath The API endpoint to track visits server-side.\n * @returns {void}\n */\nconst updateItemAccess = (\n contextItem,\n { lastAccessedOn, frequency = 0 } = {},\n namespace,\n trackVisitsPath,\n // eslint-disable-next-line max-params\n) => {\n const now = Date.now();\n const neverAccessed = !lastAccessedOn;\n const shouldUpdate = neverAccessed || Math.abs(now - lastAccessedOn) / FIFTEEN_MINUTES_IN_MS > 1;\n\n if (shouldUpdate) {\n axios({\n url: trackVisitsPath,\n method: 'POST',\n data: {\n type: namespace,\n id: contextItem.id,\n },\n }).catch((e) => {\n Sentry.captureException(e);\n });\n }\n\n return {\n ...contextItem,\n frequency: shouldUpdate ? frequency + 1 : frequency,\n lastAccessedOn: shouldUpdate ? now : lastAccessedOn,\n };\n};\n\nexport const trackContextAccess = (username, context, trackVisitsPath) => {\n if (!AccessorUtilities.canUseLocalStorage()) {\n return false;\n }\n\n const storageKey = `${username}/frequent-${context.namespace}`;\n const storedRawItems = localStorage.getItem(storageKey);\n const storedItems = storedRawItems ? JSON.parse(storedRawItems) : [];\n const existingItemIndex = storedItems.findIndex(\n (cachedItem) => cachedItem.id === context.item.id,\n );\n\n if (existingItemIndex > -1) {\n storedItems[existingItemIndex] = updateItemAccess(\n context.item,\n storedItems[existingItemIndex],\n context.namespace,\n trackVisitsPath,\n );\n } else {\n const newItem = updateItemAccess(\n context.item,\n storedItems[existingItemIndex],\n context.namespace,\n trackVisitsPath,\n );\n if (storedItems.length === FREQUENT_ITEMS.MAX_COUNT) {\n sortItemsByFrequencyAndLastAccess(storedItems);\n storedItems.pop();\n }\n storedItems.push(newItem);\n }\n\n return localStorage.setItem(storageKey, JSON.stringify(storedItems));\n};\n\nexport const ariaCurrent = (isActive) => (isActive ? 'page' : null);\n\nconst isValidNumber = (count) => {\n return typeof count === 'number';\n};\n\nexport const formatAsyncCount = (count) => {\n return isValidNumber(count) ? numberToMetricPrefix(count) : null;\n};\n","var baseEach = require('./_baseEach'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\nmodule.exports = baseMap;\n","import { formatNumber, sprintf, __ } from '~/locale';\nimport { BYTES_IN_KIB, THOUSAND, MILLION } from './constants';\n\n/**\n * Utility function that calculates KiB of the given bytes.\n *\n * @param {Number} number bytes\n * @return {Number} KiB\n */\nexport function bytesToKiB(number) {\n return number / BYTES_IN_KIB;\n}\n\n/**\n * Utility function that calculates MiB of the given bytes.\n *\n * @param {Number} number bytes\n * @return {Number} MiB\n */\nexport function bytesToMiB(number) {\n return number / (BYTES_IN_KIB * BYTES_IN_KIB);\n}\n\n/**\n * Utility function that calculates GiB of the given bytes.\n * @param {Number} number\n * @returns {Number}\n */\nexport function bytesToGiB(number) {\n return number / (BYTES_IN_KIB * BYTES_IN_KIB * BYTES_IN_KIB);\n}\n\n/**\n * Formats the bytes in number into a more understandable\n * representation. Returns an array with the first value being the human size\n * and the second value being the label (e.g., [1.5, 'KiB']).\n *\n * @param {number} size\n * @param {number} [digits=2] - The number of digits to appear after the decimal point\n * @param {string} locale\n * @returns {string[]}\n */\nexport function numberToHumanSizeSplit({ size, digits = 2, locale } = {}) {\n const abs = Math.abs(size);\n const digitsOptions = { minimumFractionDigits: digits, maximumFractionDigits: digits };\n const formatNumberWithLocaleAndDigits = (n) => formatNumber(n, digitsOptions, locale);\n\n if (abs < BYTES_IN_KIB) {\n return [size.toString(), __('B')];\n }\n if (abs < BYTES_IN_KIB ** 2) {\n return [formatNumberWithLocaleAndDigits(bytesToKiB(size)), __('KiB')];\n }\n if (abs < BYTES_IN_KIB ** 3) {\n return [formatNumberWithLocaleAndDigits(bytesToMiB(size)), __('MiB')];\n }\n return [formatNumberWithLocaleAndDigits(bytesToGiB(size)), __('GiB')];\n}\n\n/**\n * Port of rails number_to_human_size\n * Formats the bytes in number into a more understandable\n * representation (e.g., giving it 1536 yields 1.5 KiB).\n *\n * @param {number} size\n * @param {number} [digits=2] - The number of digits to appear after the decimal point\n * @param {string} locale\n * @returns {string}\n */\nexport function numberToHumanSize(size, digits = 2, locale) {\n const [humanSize, label] = numberToHumanSizeSplit({ size, digits, locale });\n\n switch (label) {\n case __('B'):\n return sprintf(__('%{size} B'), { size: humanSize });\n case __('KiB'):\n return sprintf(__('%{size} KiB'), { size: humanSize });\n case __('MiB'):\n return sprintf(__('%{size} MiB'), { size: humanSize });\n case __('GiB'):\n return sprintf(__('%{size} GiB'), { size: humanSize });\n default:\n return '';\n }\n}\n\n/**\n * Converts a number to kilos or megas.\n *\n * For example:\n * - 123 becomes 123\n * - 123456 becomes 123.4k\n * - 123456789 becomes 123.4m\n *\n * @param number Number to format\n * @param digits The number of digits to appear after the decimal point\n * @param uppercase Whether to use uppercase suffix (K, M)\n * @return {string} Formatted number\n */\nexport function numberToMetricPrefix(number, uppercase = false) {\n if (number < THOUSAND) {\n return number.toString();\n }\n const digits = 1;\n if (number < MILLION) {\n return `${Number((number / THOUSAND).toFixed(digits))}${uppercase ? 'K' : 'k'}`;\n }\n return `${Number((number / MILLION).toFixed(digits))}${uppercase ? 'M' : 'm'}`;\n}\n/**\n * A simple method that returns the value of a + b\n * It seems unessesary, but when combined with a reducer it\n * adds up all the values in an array.\n *\n * e.g. `[1, 2, 3, 4, 5].reduce(sum) // => 15`\n *\n * @param {Float} a\n * @param {Float} b\n * @example\n * // return 15\n * [1, 2, 3, 4, 5].reduce(sum);\n *\n * // returns 6\n * Object.values([{a: 1, b: 2, c: 3].reduce(sum);\n * @returns {Float} The summed value\n */\nexport const sum = (a = 0, b = 0) => a + b;\n\n/**\n * Checks if the provided number is odd\n * @param {Int} number\n */\nexport const isOdd = (number = 0) => number % 2;\n\n/**\n * Computes the median for a given array.\n * @param {Array} arr An array of numbers\n * @returns {Number} The median of the given array\n */\nexport const median = (arr) => {\n const middle = Math.floor(arr.length / 2);\n const sorted = arr.sort((a, b) => a - b);\n return arr.length % 2 !== 0 ? sorted[middle] : (sorted[middle - 1] + sorted[middle]) / 2;\n};\n\n/**\n * Computes the change from one value to the other as a percentage.\n * @param {Number} firstY\n * @param {Number} lastY\n * @returns {Number}\n */\nexport const changeInPercent = (firstY, lastY) => {\n if (firstY === lastY) {\n return 0;\n }\n\n return Math.round(((lastY - firstY) / Math.abs(firstY)) * 100);\n};\n\n/**\n * Computes and formats the change from one value to the other as a percentage.\n * Prepends the computed percentage with either \"+\" or \"-\" to indicate an in- or decrease and\n * returns a given string if the result is not finite (for example, if the first value is \"0\").\n * @param firstY\n * @param lastY\n * @param nonFiniteResult\n * @returns {String}\n */\nexport const formattedChangeInPercent = (firstY, lastY, { nonFiniteResult = '-' } = {}) => {\n const change = changeInPercent(firstY, lastY);\n\n if (!Number.isFinite(change)) {\n return nonFiniteResult;\n }\n\n return `${change >= 0 ? '+' : ''}${change}%`;\n};\n\n/**\n * Checks whether a value is numerical in nature by converting it using parseInt\n *\n * Example outcomes:\n * - isNumeric(100) = true\n * - isNumeric('100') = true\n * - isNumeric(1.0) = true\n * - isNumeric('1.0') = true\n * - isNumeric('abc100') = false\n * - isNumeric('abc') = false\n * - isNumeric(true) = false\n * - isNumeric(undefined) = false\n * - isNumeric(null) = false\n *\n * @param value\n * @returns {boolean}\n */\nexport const isNumeric = (value) => {\n return !Number.isNaN(parseInt(value, 10));\n};\n\nconst numberRegex = /^[0-9]+$/;\n\n/**\n * Checks whether the value is a positive number or 0, or a string with equivalent value\n *\n * @param value\n * @return {boolean}\n */\nexport const isPositiveInteger = (value) => numberRegex.test(value);\n\n/**\n * Splits a number into an integer and decimal component\n * returns an object with the integer and decimal values extracted\n *\n * @param value\n * @return {Object}\n */\nexport const splitDecimalNumber = (value) => {\n if (isNumeric(value)) {\n const parts = String(value).split('.');\n if (value === 0) return { integer: '0', decimal: '0' };\n\n if (parts.length) {\n return parts.length > 1\n ? { integer: parts[0], decimal: parts[1] }\n : { integer: parts[0], decimal: null };\n }\n }\n return { integer: null, decimal: null };\n};\n\n/**\n * Calculates the number of digits after the decimal place\n *\n * @param num - any numeric value\n * @return number of digits after the decimal (if any)\n */\nexport const countFloatingPointDigits = (num = null) => {\n if (!num || !isNumeric(num)) return 0;\n\n const { decimal } = splitDecimalNumber(num);\n return String(decimal).length;\n};\n","var toString = require('./toString');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n/**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\nfunction escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n}\n\nmodule.exports = escapeRegExp;\n","import { BCollapse } from '../../../vendor/bootstrap-vue/src/components/collapse/collapse';\nimport __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';\n\n//\nvar script = {\n name: 'GlCollapse',\n components: {\n BCollapse\n },\n model: {\n prop: 'visible',\n event: 'input'\n },\n props: {\n visible: {\n type: Boolean,\n default: false,\n required: false\n }\n }\n};\n\n/* script */\nconst __vue_script__ = script;\n\n/* template */\nvar __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-collapse',_vm._g(_vm._b({attrs:{\"visible\":_vm.visible}},'b-collapse',_vm.$attrs,false),_vm.$listeners),[_vm._t(\"default\")],2)};\nvar __vue_staticRenderFns__ = [];\n\n /* style */\n const __vue_inject_styles__ = undefined;\n /* scoped */\n const __vue_scope_id__ = undefined;\n /* module identifier */\n const __vue_module_identifier__ = undefined;\n /* functional template */\n const __vue_is_functional_template__ = false;\n /* style inject */\n \n /* style inject SSR */\n \n /* style inject shadow dom */\n \n\n \n const __vue_component__ = __vue_normalize__(\n { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },\n __vue_inject_styles__,\n __vue_script__,\n __vue_scope_id__,\n __vue_is_functional_template__,\n __vue_module_identifier__,\n false,\n undefined,\n undefined,\n undefined\n );\n\nexport default __vue_component__;\n","function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?(n.delete(r),n.add(t)):n[r]=t}function c(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0),n)}function h(){n(2)}function y(n){return null==n||\"object\"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n(18,r),t}function m(n,r){tn[n]||(tn[n]=r)}function _(){return\"production\"===process.env.NODE_ENV||U||n(0),U}function j(n,r){r&&(b(\"Patches\"),n.u=[],n.s=[],n.v=r)}function O(n){g(n),n.p.forEach(S),n.p=null}function g(n){n===U&&(U=n.l)}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.O=!0}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.g||b(\"ES5\").S(e,r,o),o?(i[Q].P&&(O(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b(\"Patches\").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),O(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o;i(3===e.i?new Set(o):o,(function(r,i){return A(n,e,o,r,i,t)})),x(n,o,!1),t&&n.u&&b(\"Patches\").R(e,t,n.u,n.s)}return e.o}function A(e,i,o,a,c,s){if(\"production\"!==process.env.NODE_ENV&&c===o&&n(5),r(c)){var v=M(e,c,s&&i&&3!==i.i&&!u(i.D,a)?s.concat(a):void 0);if(f(o,a,v),!r(v))return;e.m=!1}if(t(c)&&!y(c)){if(!e.h.F&&e._<1)return;M(e,c),i&&i.A.l||x(e,c)}}function x(n,r,t){void 0===t&&(t=!1),n.h.F&&n.m&&d(r,t)}function z(n,r){var t=n[Q];return(t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t)}}function k(n){n.P||(n.P=!0,n.l&&k(n.l))}function E(n){n.o||(n.o=l(n.t))}function R(n,r,t){var e=s(r)?b(\"MapSet\").N(r,t):v(r)?b(\"MapSet\").T(r,t):n.g?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,D:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b(\"ES5\").J(r,t);return(t?t.A:_()).p.push(e),e}function D(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b(\"ES5\").K(u)))return u.t;u.I=!0,e=F(r,c),u.I=!1}else e=F(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f(e,r,n(t))})),3===c?new Set(e):e}(e)}function F(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}function N(){function t(n,r){var t=s[n];return t?t.enumerable=r:s[n]=t={configurable:!0,enumerable:r,get:function(){var r=this[Q];return\"production\"!==process.env.NODE_ENV&&f(r),en.get(r,n)},set:function(r){var t=this[Q];\"production\"!==process.env.NODE_ENV&&f(t),en.set(t,n,r)}},t}function e(n){for(var r=n.length-1;r>=0;r--){var t=n[r][Q];if(!t.P)switch(t.i){case 5:a(t)&&k(t);break;case 4:o(t)&&k(t)}}}function o(n){for(var r=n.t,t=n.k,e=nn(t),i=e.length-1;i>=0;i--){var o=e[i];if(o!==Q){var a=r[o];if(void 0===a&&!u(r,o))return!0;var f=t[o],s=f&&f[Q];if(s?s.t!==a:!c(f,a))return!0}}var v=!!r[Q];return e.length!==nn(r).length+(v?0:1)}function a(n){var r=n.k;if(r.length!==n.t.length)return!0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);if(t&&!t.get)return!0;for(var e=0;e1?t-1:0),o=1;o1?t-1:0),o=1;o=0;e--){var i=t[e];if(0===i.path.length&&\"replace\"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b(\"Patches\").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce,cn=an.produceWithPatches.bind(an),sn=an.setAutoFreeze.bind(an),vn=an.setUseProxies.bind(an),pn=an.applyPatches.bind(an),ln=an.createDraft.bind(an),dn=an.finishDraft.bind(an);export default fn;export{un as Immer,pn as applyPatches,K as castDraft,$ as castImmutable,ln as createDraft,D as current,J as enableAllPlugins,N as enableES5,C as enableMapSet,T as enablePatches,dn as finishDraft,d as freeze,L as immerable,r as isDraft,t as isDraftable,H as nothing,e as original,fn as produce,cn as produceWithPatches,sn as setAutoFreeze,vn as setUseProxies};\n//# sourceMappingURL=immer.esm.js.map\n","import { isEqual, orderBy, isEmpty } from 'lodash';\nimport AccessorUtilities from '~/lib/utils/accessor';\nimport { formatNumber } from '~/locale';\nimport { joinPaths, queryToObject, objectToQuery, getBaseURL } from '~/lib/utils/url_utility';\nimport { LABEL_AGREGATION_NAME, LANGUAGE_FILTER_PARAM } from '~/search/sidebar/constants';\nimport {\n MAX_FREQUENT_ITEMS,\n MAX_FREQUENCY,\n SIDEBAR_PARAMS,\n NUMBER_FORMATING_OPTIONS,\n REGEX_PARAM,\n LS_REGEX_HANDLE,\n} from './constants';\n\nfunction extractKeys(object, keyList) {\n return Object.fromEntries(keyList.map((key) => [key, object[key]]));\n}\n\nexport const loadDataFromLS = (key) => {\n if (!AccessorUtilities.canUseLocalStorage()) {\n return null;\n }\n\n try {\n return JSON.parse(localStorage.getItem(key)) || null;\n } catch {\n // The LS got in a bad state, let's wipe it\n localStorage.removeItem(key);\n return null;\n }\n};\n\nexport const setDataToLS = (key, value) => {\n if (!AccessorUtilities.canUseLocalStorage()) {\n return null;\n }\n\n try {\n localStorage.setItem(key, JSON.stringify(value));\n return value;\n } catch {\n // The LS got in a bad state, let's wipe it\n localStorage.removeItem(key);\n return null;\n }\n};\n\nexport const setFrequentItemToLS = (key, data, itemData) => {\n if (!AccessorUtilities.canUseLocalStorage()) {\n return [];\n }\n\n const keyList = [\n 'id',\n 'avatar_url',\n 'name',\n 'full_name',\n 'name_with_namespace',\n 'frequency',\n 'lastUsed',\n ];\n\n try {\n const frequentItems = data[key].map((obj) => extractKeys(obj, keyList));\n const item = extractKeys(itemData, keyList);\n const existingItemIndex = frequentItems.findIndex((i) => i.id === item.id);\n\n if (existingItemIndex >= 0) {\n // Up the frequency (Max 5)\n const currentFrequency = frequentItems[existingItemIndex].frequency;\n frequentItems[existingItemIndex].frequency = Math.min(currentFrequency + 1, MAX_FREQUENCY);\n frequentItems[existingItemIndex].lastUsed = new Date().getTime();\n } else {\n // Only store a max of 5 items\n if (frequentItems.length >= MAX_FREQUENT_ITEMS) {\n frequentItems.pop();\n }\n\n frequentItems.push({ ...item, frequency: 1, lastUsed: new Date().getTime() });\n }\n\n // Sort by frequency and lastUsed\n frequentItems.sort((a, b) => {\n if (a.frequency > b.frequency) {\n return -1;\n }\n if (a.frequency < b.frequency) {\n return 1;\n }\n return b.lastUsed - a.lastUsed;\n });\n\n // Note we do not need to commit a mutation here as immediately after this we refresh the page to\n // update the search results.\n localStorage.setItem(key, JSON.stringify(frequentItems));\n return frequentItems;\n } catch {\n // The LS got in a bad state, let's wipe it\n localStorage.removeItem(key);\n return [];\n }\n};\n\nexport const mergeById = (inflatedData, storedData) => {\n return inflatedData.map((data) => {\n const stored = storedData?.find((d) => d.id === data.id) || {};\n return { ...stored, ...data };\n });\n};\n\nexport const isSidebarDirty = (currentQuery, urlQuery) => {\n return SIDEBAR_PARAMS.some((param) => {\n // userAddParam ensures we don't get a false dirty from null !== undefined\n const userAddedParam = !urlQuery[param] && currentQuery[param];\n const userChangedExistingParam = urlQuery[param] && urlQuery[param] !== currentQuery[param];\n\n if (Array.isArray(currentQuery[param]) || Array.isArray(urlQuery[param])) {\n return !isEqual(currentQuery[param], urlQuery[param]);\n }\n\n return userAddedParam || userChangedExistingParam;\n });\n};\n\nexport const formatSearchResultCount = (count) => {\n if (!count) {\n return '0';\n }\n\n const countNumber = typeof count === 'string' ? parseInt(count.replace(/,/g, ''), 10) : count;\n return formatNumber(countNumber, NUMBER_FORMATING_OPTIONS);\n};\n\nexport const getAggregationsUrl = () => {\n const currentUrl = new URL(window.location.href);\n currentUrl.pathname = joinPaths('/search', 'aggregations');\n return currentUrl.toString();\n};\n\nconst sortLanguages = (state, entries) => {\n const queriedLanguages = state.query?.[LANGUAGE_FILTER_PARAM] || [];\n\n if (!Array.isArray(queriedLanguages) || !queriedLanguages.length) {\n return entries;\n }\n\n const queriedLanguagesSet = new Set(queriedLanguages);\n\n return orderBy(entries, [({ key }) => queriedLanguagesSet.has(key), 'count'], ['desc', 'desc']);\n};\n\nconst getUniqueNamesOnly = (items) => {\n return items.filter(\n (item, index, array) => index === array.findIndex((obj) => obj.title === item.title),\n );\n};\n\nexport const prepareSearchAggregations = (state, aggregationData) =>\n aggregationData.map((item) => {\n if (item?.name === LANGUAGE_FILTER_PARAM) {\n return {\n ...item,\n buckets: sortLanguages(state, item.buckets),\n };\n }\n\n if (item?.name === LABEL_AGREGATION_NAME) {\n return {\n ...item,\n buckets: getUniqueNamesOnly(item.buckets),\n };\n }\n\n return item;\n });\n\nexport const addCountOverLimit = (count = '') => {\n return count.includes('+') ? '+' : '';\n};\n\n/** @param { string } link */\nexport const injectRegexSearch = (link) => {\n const urlObject = new URL(link, getBaseURL());\n const queryObject = queryToObject(urlObject.search);\n if (loadDataFromLS(LS_REGEX_HANDLE) && (queryObject.project_id || queryObject.group_id)) {\n queryObject[REGEX_PARAM] = true;\n }\n if (isEmpty(queryObject)) {\n return urlObject.pathname;\n }\n return `${urlObject.pathname}?${objectToQuery(queryObject)}`;\n};\n\nexport const scopeCrawler = (navigation, parentScope = null) => {\n for (const value of Object.values(navigation)) {\n if (value.active) {\n return parentScope || value.scope;\n }\n\n if (value.sub_items) {\n const subItemScope = scopeCrawler(value.sub_items, value.scope);\n if (subItemScope) {\n return subItemScope;\n }\n }\n }\n\n return null;\n};\n","(function() {\n var Query, coreChars, countDir, getCharCodes, getExtension, opt_char_re, truncatedUpperCase, _ref;\n\n _ref = require(\"./pathScorer\"), countDir = _ref.countDir, getExtension = _ref.getExtension;\n\n module.exports = Query = (function() {\n function Query(query, _arg) {\n var optCharRegEx, pathSeparator, _ref1;\n _ref1 = _arg != null ? _arg : {}, optCharRegEx = _ref1.optCharRegEx, pathSeparator = _ref1.pathSeparator;\n if (!(query && query.length)) {\n return null;\n }\n this.query = query;\n this.query_lw = query.toLowerCase();\n this.core = coreChars(query, optCharRegEx);\n this.core_lw = this.core.toLowerCase();\n this.core_up = truncatedUpperCase(this.core);\n this.depth = countDir(query, query.length, pathSeparator);\n this.ext = getExtension(this.query_lw);\n this.charCodes = getCharCodes(this.query_lw);\n }\n\n return Query;\n\n })();\n\n opt_char_re = /[ _\\-:\\/\\\\]/g;\n\n coreChars = function(query, optCharRegEx) {\n if (optCharRegEx == null) {\n optCharRegEx = opt_char_re;\n }\n return query.replace(optCharRegEx, '');\n };\n\n truncatedUpperCase = function(str) {\n var char, upper, _i, _len;\n upper = \"\";\n for (_i = 0, _len = str.length; _i < _len; _i++) {\n char = str[_i];\n upper += char.toUpperCase()[0];\n }\n return upper;\n };\n\n getCharCodes = function(str) {\n var charCodes, i, len;\n len = str.length;\n i = -1;\n charCodes = [];\n while (++i < len) {\n charCodes[str.charCodeAt(i)] = true;\n }\n return charCodes;\n };\n\n}).call(this);\n","import { s__, __ } from '~/locale';\n\nexport const AUTOCOMPLETE_ERROR_MESSAGE = s__(\n 'GlobalSearch|There was an error fetching search autocomplete suggestions.',\n);\n\nexport const NO_SEARCH_RESULTS = s__(\n 'GlobalSearch|No results found. Edit your search and try again.',\n);\n\nexport const ALL_GITLAB = __('All GitLab');\nexport const PLACES = s__('GlobalSearch|Places');\n\nexport const COMMAND_PALETTE = s__('GlobalSearch|Command palette');\nexport const DESCRIBE_LABEL_FILTER = s__('GlobalSearch|List of filtered labels.');\nexport const DESCRIBE_LABEL_FILTER_INPUT = s__('GlobalSearch|Type to filter labels.');\nexport const SEARCH_DESCRIBED_BY_DEFAULT = s__(\n 'GlobalSearch|%{count} default results provided. Use the up and down arrow keys to navigate search results list.',\n);\nexport const SEARCH_DESCRIBED_BY_WITH_RESULTS = s__(\n 'GlobalSearch|Type for new suggestions to appear below.',\n);\nexport const SEARCH_DESCRIBED_BY_UPDATED = s__(\n 'GlobalSearch|Results updated. %{count} results available. Use the up and down arrow keys to navigate search results list, or ENTER to submit.',\n);\nexport const SEARCH_RESULTS_LOADING = s__('GlobalSearch|Search results are loading');\nexport const SEARCH_RESULTS_SCOPE = s__('GlobalSearch|in %{scope}');\nexport const MIN_SEARCH_TERM = s__(\n 'GlobalSearch|The search term must be at least 3 characters long.',\n);\nexport const MSG_ISSUES_ASSIGNED_TO_ME = s__('GlobalSearch|Issues assigned to me');\n\nexport const MSG_ISSUES_IVE_CREATED = s__(\"GlobalSearch|Issues I've created\");\n\nexport const MSG_MR_ASSIGNED_TO_ME = s__('GlobalSearch|Merge requests assigned to me');\n\nexport const MSG_MR_IM_REVIEWER = s__(\"GlobalSearch|Merge requests that I'm a reviewer\");\n\nexport const MSG_MR_IVE_CREATED = s__(\"GlobalSearch|Merge requests I've created\");\n\nexport const MSG_IN_ALL_GITLAB = s__('GlobalSearch|all GitLab');\n\nexport const GROUPS_CATEGORY = s__('GlobalSearch|Groups');\n\nexport const PROJECTS_CATEGORY = s__('GlobalSearch|Projects');\n\nexport const USERS_CATEGORY = s__('GlobalSearch|Users');\n\nexport const ISSUES_CATEGORY = s__('GlobalSearch|Recent issues');\n\nexport const MERGE_REQUEST_CATEGORY = s__('GlobalSearch|Recent merge requests');\n\nexport const RECENT_EPICS_CATEGORY = s__('GlobalSearch|Recent epics');\n\nexport const IN_THIS_PROJECT_CATEGORY = s__('GlobalSearch|In this project');\n\nexport const SETTINGS_CATEGORY = s__('GlobalSearch|Settings');\n\nexport const HELP_CATEGORY = s__('GlobalSearch|Help');\n\nexport const SEARCH_RESULTS_ORDER = [\n MERGE_REQUEST_CATEGORY,\n ISSUES_CATEGORY,\n RECENT_EPICS_CATEGORY,\n GROUPS_CATEGORY,\n PROJECTS_CATEGORY,\n USERS_CATEGORY,\n IN_THIS_PROJECT_CATEGORY,\n SETTINGS_CATEGORY,\n HELP_CATEGORY,\n];\nexport const SEARCH_LABELS = s__('GlobalSearch|Search labels');\n\nexport const DROPDOWN_HEADER = s__('GlobalSearch|Labels');\n\nexport const AGGREGATIONS_ERROR_MESSAGE = s__('GlobalSearch|Fetching aggregations error.');\n\nexport const NO_LABELS_FOUND = s__('GlobalSearch|No labels found');\n\nexport const COMMAND_PALETTE_TIP = s__('GlobalSearch|Tip:');\n\nexport const COMMAND_PALETTE_TYPE_PAGES = s__('GlobalSearch|Pages or actions');\n\nexport const COMMAND_PALETTE_TYPE_FILES = s__('GlobalSearch|Files');\n\nexport const COMMAND_PALETTE_SEARCH_SCOPE_HEADER = s__(\n 'GlobalSearch|Search for `%{searchTerm}` in...',\n);\n\nexport const COMMAND_PALETTE_PAGES_SCOPE_HEADER = s__(\n 'GlobalSearch|Search for `%{searchTerm}` pages in...',\n);\n\nexport const COMMAND_PALETTE_USERS_SCOPE_HEADER = s__(\n 'GlobalSearch|Search for `%{searchTerm}` users in...',\n);\n\nexport const COMMAND_PALETTE_PROJECTS_SCOPE_HEADER = s__(\n 'GlobalSearch|Search for `%{searchTerm}` projects in...',\n);\n\nexport const COMMAND_PALETTE_FILES_SCOPE_HEADER = s__(\n 'GlobalSearch|Search for `%{searchTerm}` files in...',\n);\n\nexport const COMMAND_PALETTE_PAGES_CHAR = '>';\nexport const COMMAND_PALETTE_USERS_CHAR = '@';\nexport const COMMAND_PALETTE_PROJECTS_CHAR = ':';\nexport const COMMAND_PALETTE_FILES_CHAR = '~';\n\nexport const I18N = {\n SEARCH_DESCRIBED_BY_DEFAULT,\n SEARCH_RESULTS_LOADING,\n SEARCH_DESCRIBED_BY_UPDATED,\n SEARCH_LABELS,\n DROPDOWN_HEADER,\n AGGREGATIONS_ERROR_MESSAGE,\n NO_LABELS_FOUND,\n DESCRIBE_LABEL_FILTER,\n DESCRIBE_LABEL_FILTER_INPUT,\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.tag,{tag:\"component\"},[(_vm.separated)?_c('hr',{staticClass:\"gl-mx-4 gl-my-2\",attrs:{\"aria-hidden\":\"true\"}}):_vm._e(),_vm._v(\" \"),_c('button',_vm._b({staticClass:\"super-sidebar-nav-item gl-relative gl-mb-2 gl-flex gl-min-h-7 gl-w-full gl-appearance-none gl-items-center gl-gap-3 gl-rounded-base gl-border-0 gl-bg-transparent gl-px-3 gl-py-2 gl-text-left !gl-text-default !gl-no-underline focus:gl-focus\",class:_vm.computedLinkClasses,attrs:{\"id\":`menu-section-button-${_vm.itemId}`,\"data-testid\":\"menu-section-button\",\"data-qa-section-name\":_vm.item.title},on:{\"click\":function($event){_vm.isExpanded = !_vm.isExpanded},\"pointerover\":_vm.handlePointerover,\"pointerleave\":_vm.handlePointerleave}},'button',_vm.buttonProps,false),[_c('span',{staticClass:\"gl-absolute gl-bottom-2 gl-left-2 gl-top-2 gl-transition-all gl-duration-slow\",class:[_vm.isActive ? 'active-indicator gl-bg-blue-500' : 'gl-bg-transparent'],staticStyle:{\"width\":\"3px\",\"border-radius\":\"3px\",\"margin-right\":\"1px\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',{staticClass:\"gl-flex gl-w-6 gl-shrink-0\"},[_vm._t(\"icon\",function(){return [(_vm.item.icon)?_c('gl-icon',{staticClass:\"super-sidebar-nav-item-icon gl-m-auto\",attrs:{\"name\":_vm.item.icon}}):_vm._e()]})],2),_vm._v(\" \"),_c('span',{staticClass:\"gl-truncate-end gl-grow gl-text-default\"},[_vm._v(\"\\n \"+_vm._s(_vm.item.title)+\"\\n \")]),_vm._v(\" \"),_c('span',{staticClass:\"gl-text-right\"},[_c('gl-icon',{staticClass:\"super-sidebar-mix-blend-mode\",attrs:{\"name\":_vm.collapseIcon,\"variant\":\"subtle\"}})],1)]),_vm._v(\" \"),(_vm.hasFlyout && _vm.isMouseOver && !_vm.isExpanded && !_vm.keepFlyoutClosed && _vm.item.items.length > 0)?_c('flyout-menu',{attrs:{\"target-id\":`menu-section-button-${_vm.itemId}`,\"items\":_vm.item.items,\"async-count\":_vm.asyncCount},on:{\"mouseover\":function($event){_vm.isMouseOverFlyout = true},\"mouseleave\":function($event){_vm.isMouseOverFlyout = false},\"pin-add\":(itemId, itemTitle) => _vm.$emit('pin-add', itemId, itemTitle),\"pin-remove\":(itemId, itemTitle) => _vm.$emit('pin-remove', itemId, itemTitle),\"nav-link-click\":function($event){return _vm.$emit('nav-link-click')}}}):_vm._e(),_vm._v(\" \"),_c('gl-collapse',{staticClass:\"gl-m-0 gl-list-none gl-p-0 gl-duration-medium gl-ease-ease\",attrs:{\"id\":_vm.itemId,\"data-testid\":\"menu-section\",\"data-qa-section-name\":_vm.item.title},model:{value:(_vm.isExpanded),callback:function ($$v) {_vm.isExpanded=$$v},expression:\"isExpanded\"}},[_vm._t(\"default\",function(){return [_c('ul',{staticClass:\"gl-m-0 gl-list-none gl-p-0\",attrs:{\"aria-label\":_vm.item.title}},_vm._l((_vm.item.items),function(subItem){return _c('nav-item',{key:`${_vm.item.title}-${subItem.title}`,attrs:{\"item\":subItem,\"async-count\":_vm.asyncCount},on:{\"pin-add\":(itemId, itemTitle) => _vm.$emit('pin-add', itemId, itemTitle),\"pin-remove\":(itemId, itemTitle) => _vm.$emit('pin-remove', itemId, itemTitle)}})}),1)]})],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./flyout_menu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./flyout_menu.vue?vue&type=script&lang=js\"","import api from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ref--20-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./flyout_menu.vue?vue&type=style&index=0&id=9534917c&prod&scoped=true&lang=css\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./flyout_menu.vue?vue&type=template&id=9534917c&scoped=true\"\nimport script from \"./flyout_menu.vue?vue&type=script&lang=js\"\nexport * from \"./flyout_menu.vue?vue&type=script&lang=js\"\nimport style0 from \"./flyout_menu.vue?vue&type=style&index=0&id=9534917c&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9534917c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"gl-fixed gl-z-9999 -gl-mx-1 gl-max-h-full gl-overflow-y-auto\",style:(_vm.flyoutStyle),attrs:{\"id\":`${_vm.targetId}-flyout`},on:{\"mouseover\":function($event){return _vm.$emit('mouseover')},\"mouseleave\":function($event){return _vm.$emit('mouseleave')}}},[_c('ul',{staticClass:\"gl-min-w-20 gl-max-w-34 gl-list-none gl-rounded-base gl-border-1 gl-border-solid gl-border-default gl-bg-overlap gl-p-2 gl-pb-1 gl-shadow-md\",on:{\"mouseenter\":function($event){_vm.showSVG = false}}},_vm._l((_vm.items),function(item){return _c('nav-item',{key:item.id,attrs:{\"item\":item,\"is-flyout\":true,\"async-count\":_vm.asyncCount},on:{\"pin-add\":(itemId, itemTitle) => _vm.$emit('pin-add', itemId, itemTitle),\"pin-remove\":(itemId, itemTitle) => _vm.$emit('pin-remove', itemId, itemTitle),\"nav-link-click\":function($event){return _vm.$emit('nav-link-click')}}})}),1),_vm._v(\" \"),(_vm.targetRect && _vm.showSVG)?_c('svg',{style:({\n top: _vm.flyoutY + 'px',\n }),attrs:{\"width\":_vm.flyoutX,\"height\":_vm.flyoutHeight,\"viewBox\":\"0 0 100 100\",\"preserveAspectRatio\":\"none\"}},[_c('polygon',{ref:\"topSVG\",attrs:{\"points\":_vm.topSVGPoints,\"fill\":\"transparent\"},on:{\"mouseenter\":_vm.startHoverTimeout,\"mouseleave\":_vm.stopHoverTimeout}}),_vm._v(\" \"),_c('polygon',{ref:\"bottomSVG\",attrs:{\"points\":_vm.bottomSVGPoints,\"fill\":\"transparent\"},on:{\"mouseenter\":_vm.startHoverTimeout,\"mouseleave\":_vm.stopHoverTimeout}})]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu_section.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./menu_section.vue?vue&type=script&lang=js\"","\n\n\n","import { render, staticRenderFns } from \"./menu_section.vue?vue&type=template&id=2d5cf5ef\"\nimport script from \"./menu_section.vue?vue&type=script&lang=js\"\nexport * from \"./menu_section.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","exports = module.exports = require(\"../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\\nsvg[data-v-9534917c] {\\n pointer-events: none;\\n\\n position: fixed;\\n right: 0;\\n}\\nsvg polygon[data-v-9534917c],\\nsvg rect[data-v-9534917c] {\\n pointer-events: auto;\\n}\\n\", \"\"]);\n\n","(function() {\n var computeScore, countDir, file_coeff, getExtension, getExtensionScore, isMatch, scorePath, scoreSize, tau_depth, _ref;\n\n _ref = require('./scorer'), isMatch = _ref.isMatch, computeScore = _ref.computeScore, scoreSize = _ref.scoreSize;\n\n tau_depth = 20;\n\n file_coeff = 2.5;\n\n exports.score = function(string, query, options) {\n var allowErrors, preparedQuery, score, string_lw;\n preparedQuery = options.preparedQuery, allowErrors = options.allowErrors;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return 0;\n }\n string_lw = string.toLowerCase();\n score = computeScore(string, string_lw, preparedQuery);\n score = scorePath(string, string_lw, score, options);\n return Math.ceil(score);\n };\n\n scorePath = function(subject, subject_lw, fullPathScore, options) {\n var alpha, basePathScore, basePos, depth, end, extAdjust, fileLength, pathSeparator, preparedQuery, useExtensionBonus;\n if (fullPathScore === 0) {\n return 0;\n }\n preparedQuery = options.preparedQuery, useExtensionBonus = options.useExtensionBonus, pathSeparator = options.pathSeparator;\n end = subject.length - 1;\n while (subject[end] === pathSeparator) {\n end--;\n }\n basePos = subject.lastIndexOf(pathSeparator, end);\n fileLength = end - basePos;\n extAdjust = 1.0;\n if (useExtensionBonus) {\n extAdjust += getExtensionScore(subject_lw, preparedQuery.ext, basePos, end, 2);\n fullPathScore *= extAdjust;\n }\n if (basePos === -1) {\n return fullPathScore;\n }\n depth = preparedQuery.depth;\n while (basePos > -1 && depth-- > 0) {\n basePos = subject.lastIndexOf(pathSeparator, basePos - 1);\n }\n basePathScore = basePos === -1 ? fullPathScore : extAdjust * computeScore(subject.slice(basePos + 1, end + 1), subject_lw.slice(basePos + 1, end + 1), preparedQuery);\n alpha = 0.5 * tau_depth / (tau_depth + countDir(subject, end + 1, pathSeparator));\n return alpha * basePathScore + (1 - alpha) * fullPathScore * scoreSize(0, file_coeff * fileLength);\n };\n\n exports.countDir = countDir = function(path, end, pathSeparator) {\n var count, i;\n if (end < 1) {\n return 0;\n }\n count = 0;\n i = -1;\n while (++i < end && path[i] === pathSeparator) {\n continue;\n }\n while (++i < end) {\n if (path[i] === pathSeparator) {\n count++;\n while (++i < end && path[i] === pathSeparator) {\n continue;\n }\n }\n }\n return count;\n };\n\n exports.getExtension = getExtension = function(str) {\n var pos;\n pos = str.lastIndexOf(\".\");\n if (pos < 0) {\n return \"\";\n } else {\n return str.substr(pos + 1);\n }\n };\n\n getExtensionScore = function(candidate, ext, startPos, endPos, maxDepth) {\n var m, matched, n, pos;\n if (!ext.length) {\n return 0;\n }\n pos = candidate.lastIndexOf(\".\", endPos);\n if (!(pos > startPos)) {\n return 0;\n }\n n = ext.length;\n m = endPos - pos;\n if (m < n) {\n n = m;\n m = ext.length;\n }\n pos++;\n matched = -1;\n while (++matched < n) {\n if (candidate[pos + matched] !== ext[matched]) {\n break;\n }\n }\n if (matched === 0 && maxDepth > 0) {\n return 0.9 * getExtensionScore(candidate, ext, startPos, pos - 2, maxDepth - 1);\n }\n return matched / m;\n };\n\n}).call(this);\n","import { extend, mergeData } from '../../../vue';\nimport { NAME_COLLAPSE_HELPER } from '../../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../../constants/props';\nimport { setStyle, requestAF, reflow, removeStyle, getBCR } from '../../../utils/dom';\nimport { makeProp } from '../../../utils/props';\n\n// Generic collapse transion helper component\n\n// --- Helper methods ---\n\n// Transition event handler helpers\nconst onEnter = el => {\n setStyle(el, 'height', 0);\n // In a `requestAF()` for `appear` to work\n requestAF(() => {\n reflow(el);\n setStyle(el, 'height', `${el.scrollHeight}px`);\n });\n};\nconst onAfterEnter = el => {\n removeStyle(el, 'height');\n};\nconst onLeave = el => {\n setStyle(el, 'height', 'auto');\n setStyle(el, 'display', 'block');\n setStyle(el, 'height', `${getBCR(el).height}px`);\n reflow(el);\n setStyle(el, 'height', 0);\n};\nconst onAfterLeave = el => {\n removeStyle(el, 'height');\n};\n\n// --- Constants ---\n\n// Default transition props\n// `appear` will use the enter classes\nconst TRANSITION_PROPS = {\n css: true,\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: 'collapse show',\n leaveClass: 'collapse show',\n leaveActiveClass: 'collapsing',\n leaveToClass: 'collapse'\n};\n\n// Default transition handlers\n// `appear` will use the enter handlers\nconst TRANSITION_HANDLERS = {\n enter: onEnter,\n afterEnter: onAfterEnter,\n leave: onLeave,\n afterLeave: onAfterLeave\n};\n\n// --- Main component ---\n\nconst props = {\n // // If `true` (and `visible` is `true` on mount), animate initially visible\n appear: makeProp(PROP_TYPE_BOOLEAN, false)\n};\n\n// --- Main component ---\n\n// @vue/component\nconst BVCollapse = /*#__PURE__*/extend({\n name: NAME_COLLAPSE_HELPER,\n functional: true,\n props,\n render(h, _ref) {\n let {\n props,\n data,\n children\n } = _ref;\n return h('transition',\n // We merge in the `appear` prop last\n mergeData(data, {\n props: TRANSITION_PROPS,\n on: TRANSITION_HANDLERS\n }, {\n props\n }),\n // Note: `` supports a single root element only\n children);\n }\n});\n\nexport { BVCollapse, props };\n","import { extend } from '../../vue';\nimport { NAME_COLLAPSE } from '../../constants/components';\nimport { EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_NAME_HIDE, EVENT_NAME_HIDDEN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { getRootActionEventName, getRootEventName } from '../../utils/events';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable, makeProp } from '../../utils/props';\nimport { props as props$1, idMixin } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVCollapse } from './helpers/bv-collapse';\n\n// --- Constants ---\nconst ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle');\nconst ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nconst ROOT_EVENT_NAME_ACCORDION = getRootEventName(NAME_COLLAPSE, 'accordion');\nconst ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nconst ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state');\nconst {\n mixin: modelMixin,\n props: modelProps,\n prop: MODEL_PROP_NAME,\n event: MODEL_EVENT_NAME\n} = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false\n});\n\n// --- Props ---\n\nconst props = makePropsConfigurable(sortKeys({\n ...props$1,\n ...modelProps,\n // If `true` (and `visible` is `true` on mount), animate initially visible\n accordion: makeProp(PROP_TYPE_STRING),\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}), NAME_COLLAPSE);\n\n// --- Main component ---\n\n// @vue/component\nconst BCollapse = /*#__PURE__*/extend({\n name: NAME_COLLAPSE,\n mixins: [idMixin, modelMixin, normalizeSlotMixin, listenOnRootMixin],\n props,\n data() {\n return {\n show: this[MODEL_PROP_NAME],\n transitioning: false\n };\n },\n computed: {\n classObject() {\n const {\n transitioning\n } = this;\n return {\n collapse: !transitioning,\n show: this.show && !transitioning\n };\n },\n slotScope() {\n return {\n visible: this.show,\n close: () => {\n this.show = false;\n }\n };\n }\n },\n watch: {\n [MODEL_PROP_NAME](newValue) {\n if (newValue !== this.show) {\n this.show = newValue;\n }\n },\n show(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.emitState();\n }\n }\n },\n created() {\n this.show = this[MODEL_PROP_NAME];\n },\n mounted() {\n this.show = this[MODEL_PROP_NAME];\n // Listen for toggle events to open/close us\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE, this.handleToggleEvent);\n // Listen to other collapses for accordion events\n this.listenOnRoot(ROOT_EVENT_NAME_ACCORDION, this.handleAccordionEvent);\n this.$nextTick(() => {\n this.emitState();\n });\n // Listen for \"Sync state\" requests from `v-b-toggle`\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, id => {\n if (id === this.safeId()) {\n this.$nextTick(this.emitSync);\n }\n });\n },\n updated() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitSync();\n },\n beforeDestroy() {\n // Trigger state emit if needed\n this.show = false;\n },\n methods: {\n toggle() {\n this.show = !this.show;\n },\n onEnter() {\n this.transitioning = true;\n // This should be moved out so we can add cancellable events\n this.$emit(EVENT_NAME_SHOW);\n },\n onAfterEnter() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_SHOWN);\n },\n onLeave() {\n this.transitioning = true;\n // This should be moved out so we can add cancellable events\n this.$emit(EVENT_NAME_HIDE);\n },\n onAfterLeave() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_HIDDEN);\n },\n emitState() {\n const {\n show,\n accordion\n } = this;\n const id = this.safeId();\n this.$emit(MODEL_EVENT_NAME, show);\n\n // Let `v-b-toggle` know the state of this collapse\n this.emitOnRoot(ROOT_EVENT_NAME_STATE, id, show);\n if (accordion && show) {\n // Tell the other collapses in this accordion to close\n this.emitOnRoot(ROOT_EVENT_NAME_ACCORDION, id, accordion);\n }\n },\n emitSync() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.safeId(), this.show);\n },\n handleToggleEvent(id) {\n if (id === this.safeId()) {\n this.toggle();\n }\n },\n handleAccordionEvent(openedId, openAccordion) {\n const {\n accordion,\n show\n } = this;\n if (!accordion || accordion !== openAccordion) {\n return;\n }\n const isThis = openedId === this.safeId();\n // Open this collapse if not shown or\n // close this collapse if shown\n if (isThis && !show || !isThis && show) {\n this.toggle();\n }\n }\n },\n render(h) {\n const {\n appear\n } = this;\n const $content = h(this.tag, {\n class: this.classObject,\n directives: [{\n name: 'show',\n value: this.show\n }],\n attrs: {\n id: this.safeId()\n }\n }, this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope));\n return h(BVCollapse, {\n props: {\n appear\n },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [$content]);\n }\n});\n\nexport { BCollapse, props };\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nmodule.exports = hasUnicodeWord;\n","import { __ } from '~/locale';\n\nexport const SCOPE_ISSUES = 'issues';\nexport const SCOPE_MERGE_REQUESTS = 'merge_requests';\nexport const SCOPE_BLOB = 'blobs';\nexport const SCOPE_PROJECTS = 'projects';\nexport const SCOPE_NOTES = 'notes';\nexport const SCOPE_COMMITS = 'commits';\nexport const SCOPE_MILESTONES = 'milestones';\nexport const SCOPE_WIKI_BLOBS = 'wiki_blobs';\nexport const SCOPE_EPICS = 'epics';\nexport const SCOPE_USERS = 'users';\n\nexport const LABEL_DEFAULT_CLASSES = [\n 'gl-flex',\n 'gl-flex-row',\n 'gl-flex-nowrap',\n 'gl-text-default',\n];\nexport const NAV_LINK_DEFAULT_CLASSES = [...LABEL_DEFAULT_CLASSES, 'gl-justify-between'];\nexport const NAV_LINK_COUNT_DEFAULT_CLASSES = ['gl-text-sm', 'gl-font-normal'];\n\nexport const TRACKING_ACTION_CLICK = 'search:filters:click';\nexport const TRACKING_LABEL_APPLY = 'Apply Filters';\nexport const TRACKING_LABEL_RESET = 'Reset Filters';\n\nexport const ARCHIVED_TRACKING_NAMESPACE = 'search:archived:select';\nexport const ARCHIVED_TRACKING_LABEL_CHECKBOX = 'checkbox';\nexport const ARCHIVED_TRACKING_LABEL_CHECKBOX_LABEL = 'Include archived';\n\nexport const SEARCH_TYPE_BASIC = 'basic';\nexport const SEARCH_TYPE_ADVANCED = 'advanced';\nexport const SEARCH_TYPE_ZOEKT = 'zoekt';\n\nexport const SEARCH_ICON = 'search';\nexport const USER_ICON = 'user';\n\nexport const ANY_OPTION = {\n id: null,\n name: __('Any'),\n name_with_namespace: __('Any'),\n};\n\nexport const GROUP_DATA = {\n headerText: __('Filter results by group'),\n queryParam: 'group_id',\n name: 'name',\n fullName: 'full_name',\n};\n\nexport const PROJECT_DATA = {\n headerText: __('Filter results by project'),\n queryParam: 'project_id',\n name: 'name',\n fullName: 'name_with_namespace',\n};\n\nexport const EVENT_CLICK_ZOEKT_INCLUDE_FORKS_ON_SEARCH_RESULTS_PAGE =\n 'click_zoekt_include_forks_on_search_results_page';\n\nexport const EVENT_SELECT_SOURCE_BRANCH_FILTER_ON_MERGE_REQUEST_PAGE =\n 'select_source_branch_filter_on_merge_request_page';\n\nexport const EVENT_SELECT_AUTHOR_FILTER_ON_MERGE_REQUEST_PAGE =\n 'event_select_author_filter_on_merge_request_page';\n\nexport const LANGUAGE_DEFAULT_ITEM_LENGTH = 10;\nexport const LANGUAGE_MAX_ITEM_LENGTH = 100;\n\nexport const INCLUDE_ARCHIVED_FILTER_PARAM = 'include_archived';\nexport const CONFIDENTAL_FILTER_PARAM = 'confidential';\nexport const LABEL_FILTER_PARAM = 'label_name';\nexport const INCLUDE_FORKED_FILTER_PARAM = 'include_forked';\nexport const LANGUAGE_FILTER_PARAM = 'language';\nexport const SOURCE_BRANCH_PARAM = 'source_branch';\nexport const NOT_SOURCE_BRANCH_PARAM = 'not[source_branch]';\nexport const AUTHOR_PARAM = 'author_username';\nexport const NOT_AUTHOR_PARAM = 'not[author_username]';\n\nexport const FIRST_DROPDOWN_INDEX = 0;\nexport const SEARCH_BOX_INDEX = 0;\nexport const SEARCH_INPUT_DESCRIPTION = 'label-search-input-description';\nexport const SEARCH_RESULTS_DESCRIPTION = 'label-search-results-description';\nexport const LABEL_FILTER_HEADER = __('Labels');\nexport const LABEL_AGREGATION_NAME = 'labels';\n\nexport const SOURCE_BRANCH_ENDPOINT_PATH = '/-/autocomplete/merge_request_source_branches.json';\nexport const AUTHOR_ENDPOINT_PATH = '/-/autocomplete/users.json';\n\nexport const CONFIDENTIAL_FILTERS = {\n ANY: {\n label: __('Any'),\n value: null,\n },\n CONFIDENTIAL: {\n label: __('Confidential'),\n value: 'yes',\n },\n NOT_CONFIDENTIAL: {\n label: __('Not confidential'),\n value: 'no',\n },\n};\n\nexport const STATE_FILTER_PARAM = 'state';\nexport const STATE_FILTERS = {\n ANY: {\n label: __('Any'),\n value: null,\n },\n OPEN: {\n label: __('Open'),\n value: 'opened',\n },\n CLOSED: {\n label: __('Closed'),\n value: 'closed',\n },\n MERGED: {\n label: __('Merged'),\n value: 'merged',\n },\n};\n","import { GL_DARK, GL_LIGHT, GL_SYSTEM } from '~/constants';\nimport { PREFERS_DARK } from './constants';\n\nexport function loadCSSFile(path) {\n return new Promise((resolve) => {\n if (!path) resolve();\n\n if (document.querySelector(`link[href=\"${path}\"]`)) {\n resolve();\n } else {\n const linkElement = document.createElement('link');\n linkElement.type = 'text/css';\n linkElement.rel = 'stylesheet';\n // eslint-disable-next-line @gitlab/require-i18n-strings\n linkElement.media = 'screen,print';\n linkElement.onload = () => {\n resolve();\n };\n linkElement.href = path;\n\n document.head.appendChild(linkElement);\n }\n });\n}\n\nexport function getCssVariable(variable) {\n return getComputedStyle(document.documentElement).getPropertyValue(variable).trim();\n}\n\n/**\n * Return the measured width and height of a temporary element with the given\n * CSS classes.\n *\n * Multiple classes can be given by separating them with spaces.\n *\n * Since this forces a layout calculation, do not call this frequently or in\n * loops.\n *\n * Finally, this assumes the styles for the given classes are loaded.\n *\n * @param {string} className CSS class(es) to apply to a temporary element and\n * measure.\n * @returns {{ width: number, height: number }} Measured width and height in\n * CSS pixels.\n */\nexport function getCssClassDimensions(className) {\n const el = document.createElement('div');\n el.className = className;\n document.body.appendChild(el);\n const { width, height } = el.getBoundingClientRect();\n el.remove();\n return { width, height };\n}\n\n/**\n * Returns string name of current color scheme based on user preferences.\n * In the case user preference is automatic (gl-system), it will return scheme based on media query.\n *\n * @returns {string} current color scheme (gl-light, gl-dark)\n */\nexport function getSystemColorScheme() {\n if (gon.user_color_mode === GL_SYSTEM) {\n if (window.matchMedia && window.matchMedia(PREFERS_DARK).matches) {\n return GL_DARK;\n }\n return GL_LIGHT;\n }\n return gon.user_color_mode;\n}\n\n/**\n * Handles media query change event and triggers the provided callback.\n *\n * @param {function} onEvent function to be called on system color scheme change\n * @param {MediaQueryListEvent} event the event object from the media query change\n */\nfunction handleColorSchemeChange(onEvent, event) {\n onEvent(event.matches ? GL_DARK : GL_LIGHT);\n}\n\n/**\n * Subscribes for media query change of system color scheme.\n * On change triggers function passed in.\n *\n * @param {function} onEvent function to be called on system color scheme change\n * @returns {void}\n */\nexport function listenSystemColorSchemeChange(onEvent) {\n window\n .matchMedia(PREFERS_DARK)\n .addEventListener('change', (event) => handleColorSchemeChange(onEvent, event));\n}\n\n/**\n * Destroys event subscribtion for media query change of system color scheme.\n *\n * @param {function} onEvent function to be called on system color scheme change\n * @returns {void}\n */\nexport function removeListenerSystemColorSchemeChange(onEvent) {\n window\n .matchMedia(PREFERS_DARK)\n .removeEventListener('change', (event) => handleColorSchemeChange(onEvent, event));\n}\n\nfunction isNarrowScreenMediaQuery() {\n const computedStyles = getComputedStyle(document.body);\n const largeBreakpointSize = parseInt(computedStyles.getPropertyValue('--breakpoint-lg'), 10);\n return window.matchMedia(`(max-width: ${largeBreakpointSize - 1}px)`);\n}\n\nexport function isNarrowScreen() {\n return isNarrowScreenMediaQuery().matches;\n}\n\nexport function isNarrowScreenAddListener(handlerFn) {\n isNarrowScreenMediaQuery().addEventListener('change', handlerFn);\n}\n\nexport function isNarrowScreenRemoveListener(handlerFn) {\n isNarrowScreenMediaQuery().removeEventListener('change', handlerFn);\n}\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nmodule.exports = unicodeWords;\n","var deburrLetter = require('./_deburrLetter'),\n toString = require('./toString');\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nmodule.exports = deburr;\n","(function() {\n var basenameMatch, computeMatch, isMatch, isWordStart, match, mergeMatches, scoreAcronyms, scoreCharacter, scoreConsecutives, _ref;\n\n _ref = require('./scorer'), isMatch = _ref.isMatch, isWordStart = _ref.isWordStart, scoreConsecutives = _ref.scoreConsecutives, scoreCharacter = _ref.scoreCharacter, scoreAcronyms = _ref.scoreAcronyms;\n\n exports.match = match = function(string, query, options) {\n var allowErrors, baseMatches, matches, pathSeparator, preparedQuery, string_lw;\n allowErrors = options.allowErrors, preparedQuery = options.preparedQuery, pathSeparator = options.pathSeparator;\n if (!(allowErrors || isMatch(string, preparedQuery.core_lw, preparedQuery.core_up))) {\n return [];\n }\n string_lw = string.toLowerCase();\n matches = computeMatch(string, string_lw, preparedQuery);\n if (matches.length === 0) {\n return matches;\n }\n if (string.indexOf(pathSeparator) > -1) {\n baseMatches = basenameMatch(string, string_lw, preparedQuery, pathSeparator);\n matches = mergeMatches(matches, baseMatches);\n }\n return matches;\n };\n\n exports.wrap = function(string, query, options) {\n var matchIndex, matchPos, matchPositions, output, strPos, tagClass, tagClose, tagOpen, _ref1;\n if ((options.wrap != null)) {\n _ref1 = options.wrap, tagClass = _ref1.tagClass, tagOpen = _ref1.tagOpen, tagClose = _ref1.tagClose;\n }\n if (tagClass == null) {\n tagClass = 'highlight';\n }\n if (tagOpen == null) {\n tagOpen = '';\n }\n if (tagClose == null) {\n tagClose = '';\n }\n if (string === query) {\n return tagOpen + string + tagClose;\n }\n matchPositions = match(string, query, options);\n if (matchPositions.length === 0) {\n return string;\n }\n output = '';\n matchIndex = -1;\n strPos = 0;\n while (++matchIndex < matchPositions.length) {\n matchPos = matchPositions[matchIndex];\n if (matchPos > strPos) {\n output += string.substring(strPos, matchPos);\n strPos = matchPos;\n }\n while (++matchIndex < matchPositions.length) {\n if (matchPositions[matchIndex] === matchPos + 1) {\n matchPos++;\n } else {\n matchIndex--;\n break;\n }\n }\n matchPos++;\n if (matchPos > strPos) {\n output += tagOpen;\n output += string.substring(strPos, matchPos);\n output += tagClose;\n strPos = matchPos;\n }\n }\n if (strPos <= string.length - 1) {\n output += string.substring(strPos);\n }\n return output;\n };\n\n basenameMatch = function(subject, subject_lw, preparedQuery, pathSeparator) {\n var basePos, depth, end;\n end = subject.length - 1;\n while (subject[end] === pathSeparator) {\n end--;\n }\n basePos = subject.lastIndexOf(pathSeparator, end);\n if (basePos === -1) {\n return [];\n }\n depth = preparedQuery.depth;\n while (depth-- > 0) {\n basePos = subject.lastIndexOf(pathSeparator, basePos - 1);\n if (basePos === -1) {\n return [];\n }\n }\n basePos++;\n end++;\n return computeMatch(subject.slice(basePos, end), subject_lw.slice(basePos, end), preparedQuery, basePos);\n };\n\n mergeMatches = function(a, b) {\n var ai, bj, i, j, m, n, out;\n m = a.length;\n n = b.length;\n if (n === 0) {\n return a.slice();\n }\n if (m === 0) {\n return b.slice();\n }\n i = -1;\n j = 0;\n bj = b[j];\n out = [];\n while (++i < m) {\n ai = a[i];\n while (bj <= ai && ++j < n) {\n if (bj < ai) {\n out.push(bj);\n }\n bj = b[j];\n }\n out.push(ai);\n }\n while (j < n) {\n out.push(b[j++]);\n }\n return out;\n };\n\n computeMatch = function(subject, subject_lw, preparedQuery, offset) {\n var DIAGONAL, LEFT, STOP, UP, acro_score, align, backtrack, csc_diag, csc_row, csc_score, i, j, m, matches, move, n, pos, query, query_lw, score, score_diag, score_row, score_up, si_lw, start, trace;\n if (offset == null) {\n offset = 0;\n }\n query = preparedQuery.query;\n query_lw = preparedQuery.query_lw;\n m = subject.length;\n n = query.length;\n acro_score = scoreAcronyms(subject, subject_lw, query, query_lw).score;\n score_row = new Array(n);\n csc_row = new Array(n);\n STOP = 0;\n UP = 1;\n LEFT = 2;\n DIAGONAL = 3;\n trace = new Array(m * n);\n pos = -1;\n j = -1;\n while (++j < n) {\n score_row[j] = 0;\n csc_row[j] = 0;\n }\n i = -1;\n while (++i < m) {\n score = 0;\n score_up = 0;\n csc_diag = 0;\n si_lw = subject_lw[i];\n j = -1;\n while (++j < n) {\n csc_score = 0;\n align = 0;\n score_diag = score_up;\n if (query_lw[j] === si_lw) {\n start = isWordStart(i, subject, subject_lw);\n csc_score = csc_diag > 0 ? csc_diag : scoreConsecutives(subject, subject_lw, query, query_lw, i, j, start);\n align = score_diag + scoreCharacter(i, j, start, acro_score, csc_score);\n }\n score_up = score_row[j];\n csc_diag = csc_row[j];\n if (score > score_up) {\n move = LEFT;\n } else {\n score = score_up;\n move = UP;\n }\n if (align > score) {\n score = align;\n move = DIAGONAL;\n } else {\n csc_score = 0;\n }\n score_row[j] = score;\n csc_row[j] = csc_score;\n trace[++pos] = score > 0 ? move : STOP;\n }\n }\n i = m - 1;\n j = n - 1;\n pos = i * n + j;\n backtrack = true;\n matches = [];\n while (backtrack && i >= 0 && j >= 0) {\n switch (trace[pos]) {\n case UP:\n i--;\n pos -= n;\n break;\n case LEFT:\n j--;\n pos--;\n break;\n case DIAGONAL:\n matches.push(i + offset);\n j--;\n i--;\n pos -= n + 1;\n break;\n default:\n backtrack = false;\n }\n }\n matches.reverse();\n return matches;\n };\n\n}).call(this);\n","import createEventHub from '~/helpers/event_hub_factory';\n\nexport default createEventHub();\n","/**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\nfunction baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n}\n\nmodule.exports = baseSortBy;\n","var createCompounder = require('./_createCompounder');\n\n/**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\nvar kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n});\n\nmodule.exports = kebabCase;\n","(function() {\n var Query, pathScorer, pluckCandidates, scorer, sortCandidates;\n\n scorer = require('./scorer');\n\n pathScorer = require('./pathScorer');\n\n Query = require('./query');\n\n pluckCandidates = function(a) {\n return a.candidate;\n };\n\n sortCandidates = function(a, b) {\n return b.score - a.score;\n };\n\n module.exports = function(candidates, query, options) {\n var bKey, candidate, key, maxInners, maxResults, score, scoreProvider, scoredCandidates, spotLeft, string, usePathScoring, _i, _len;\n scoredCandidates = [];\n key = options.key, maxResults = options.maxResults, maxInners = options.maxInners, usePathScoring = options.usePathScoring;\n spotLeft = (maxInners != null) && maxInners > 0 ? maxInners : candidates.length + 1;\n bKey = key != null;\n scoreProvider = usePathScoring ? pathScorer : scorer;\n for (_i = 0, _len = candidates.length; _i < _len; _i++) {\n candidate = candidates[_i];\n string = bKey ? candidate[key] : candidate;\n if (!string) {\n continue;\n }\n score = scoreProvider.score(string, query, options);\n if (score > 0) {\n scoredCandidates.push({\n candidate: candidate,\n score: score\n });\n if (!--spotLeft) {\n break;\n }\n }\n }\n scoredCandidates.sort(sortCandidates);\n candidates = scoredCandidates.map(pluckCandidates);\n if (maxResults != null) {\n candidates = candidates.slice(0, maxResults);\n }\n return candidates;\n };\n\n}).call(this);\n"],"sourceRoot":""}