/* Metro module 1157; source: unknown; dependencies: [57, 1150, 826] */ function _fun12851(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#12851, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:6, offset: 0x00dd8ab5, size: 352 bytes, params: 8, frame: 26 const env0_0 = require; const pickSplat = function(a0) { return a0.params['*'] || ''; }; const trimSlash = function(a0) { var r0; var value = a0; if (value[value.length - 1] !== '/') { r0 = value; } else { value = value.slice(0, -1); r0 = value; } return r0; }; const closure = function(a0) { return a0.endsWith('*'); }; const closure2 = pathIsWildcardAndHasChildren; const closure3 = function(a0) { var r0; var r3; var property = a0.children; r0 = property || !a0.element; if (r0) { r3 = undefined; } else { property = a0.path; r0 = property == null; r3 = property; } r0 = !r0 ? !r3.endsWith('/*') : r0; return !r0; }; const closure4 = function(a0) { return a0.split(RegExp('\\\\?\\/', '')).filter(_fun12859).length; }; const closure5 = function(a0) { var value = a0; return value[0] === '/' ? value : '/' + value; }; const closure6 = rebuildRoutePathFromAllRoutes; const closure7 = locationIsInsideDescendantRoute; const closure8 = getNormalizedName; const env0_3 = require(57) /* metro dependency 57 */; const Object = global.Object; const defineProperty = Object.defineProperty; const Symbol = global.Symbol; Reflect.apply(defineProperty, Object, [exports, Symbol.toStringTag, {value: 'Module'}]); const env0_5 = []; exports.clearNavigationContext = clearNavigationContext; exports.getActiveRootSpan = getActiveRootSpan; exports.getNavigationContext = getNavigationContext; exports.getNormalizedName = closure8; exports.getNumberOfUrlSegments = closure4; exports.initializeRouterUtils = function(a0) { env0_2 = a0; env0_4 = arguments.length > 1 && arguments[1] !== undefined && arguments[1]; }; exports.locationIsInsideDescendantRoute = closure7; exports.pathEndsWithWildcard = closure; exports.pathIsWildcardAndHasChildren = closure2; exports.prefixWithSlash = closure5; exports.rebuildRoutePathFromAllRoutes = closure6; exports.resolveRouteNameAndSource = resolveRouteNameAndSource; exports.routeIsDescendant = closure3; exports.setNavigationContext = setNavigationContext; exports.transactionNameHasWildcard = function(a0) { return a0.includes('/*') || a0.endsWith('*'); }; } function pathIsWildcardAndHasChildren(a0, a1) { // fn#12855, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:288, offset: 0x00dd8c41, size: 61 bytes, params: 3, frame: 12 var r0; var children; let value = pathEndsWithWildcard(a0); if (value) { children = a1.route.children; value = children == null; value = !(value || !children.length); r0 = value; } else { r0 = value; } r0 = !!r0 && r0; return r0; } function sendIndexPath(a0, a1, a2) { // fn#12857, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:519, offset: 0x00dd8cc2, size: 172 bytes, params: 4, frame: 15 const value = a0; const value2 = a1; const r2 = value && value.length > 0 ? value : env0_4 ? stripBasenameFromPathname(value2, a2) : value2; const r4 = r2.slice(-2) !== '/*' ? r2 : r2.slice(0, -2); return [r4.length > 1 && r4[r4.length - 1] === '/' ? r4.slice(0, -1) : r4, 'route']; } function getNumberOfUrlSegments(a0) { // fn#12858, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:713, offset: 0x00dd8d6e, size: 51 bytes, params: 2, frame: 11 const value = a0.split(RegExp('\\\\?\\/', '')); return value.filter(function(a0) { return a0.length > 0 && a0 !== ','; }).length; } function stripBasenameFromPathname(a0, a1) { // fn#12860, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:829, offset: 0x00dd8dbc, size: 131 bytes, params: 3, frame: 14 var r1; var value2; var value3; var value4; var length; var value6; let value = a0; if (a1) { value2 = '/'; if (value2 === a1) { return value; } value3 = value.toLowerCase(); if (value3.startsWith(a1.toLowerCase())) { value4 = a1.endsWith(value2); length = a1.length; r1 = value4 ? length - 1 : length; value6 = value.charAt(r1); if (value6) { if (value2 !== value6) { r1 = value; } else { value = value.slice(r1); r1 = value || value2; } } else { value = value.slice(r1); r1 = value || value2; } return r1; } } return value; } function rebuildRoutePathFromAllRoutes(a0, a1) { // fn#12862, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:1097, offset: 0x00dd8e67, size: 116 bytes, params: 3, frame: 16 var r1; var length; var closure; var iterator; var iterator2; var item; var item2; var v; var error; const env0_0 = a0; const env0_1 = a1; let value = env0_2(a0, a1); reducibleJoin4: while (true) { reducibleJoin11: while (true) { if (value) { length = value.length; if (length === 0) { break reducibleJoin11; } closure = rebuildRoutePathFromAllRoutes_loop; iterator = value[Symbol.iterator](); iterator2 = iterator.next; r1 = iterator; item2 = Reflect.apply(iterator2, r1, []); item = item2.value; item2 = item2.done ? undefined : r1; if (item2 === undefined) { return ''; } break reducibleJoin4; } break reducibleJoin11; } return ''; } reducibleLoop4: while (true) { try { value = closure(item); } catch (error) { try { item2.return(); } catch { } throw error; } if (value) { break reducibleLoop4; } r1 = item2; item2 = Reflect.apply(iterator2, r1, []); item = item2.value; item2 = item2.done ? undefined : r1; if (item2 === undefined) { return ''; } continue reducibleLoop4; } try { v = value.v; } catch (error) { try { item2.return(); } catch { } throw error; } item2.return(); return v; } function locationIsInsideDescendantRoute(a0, a1) { // fn#12866, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:1665, offset: 0x00dd900a, size: 99 bytes, params: 3, frame: 16 var r1; var value; var value2; var iterator; var iterator2; var item; var item2; var routeIsDescendantBinding; var route; var value3; var pickSplatBinding; var value4; var error; exceptionSkip13: while (true) { exceptionLanding13: while (true) { value = environment; value2 = env0_2(a1, a0); if (value2) { iterator = value2[Symbol.iterator](); iterator2 = iterator.next; r1 = iterator; loopExit2: while (true) { item2 = Reflect.apply(iterator2, r1, []); item = item2.value; item2 = item2.done ? undefined : r1; if (item2 === undefined) { return false; } try { routeIsDescendantBinding = routeIsDescendant; } catch (error) { break exceptionLanding13; } try { route = item.route; } catch (error) { break exceptionLanding13; } try { value3 = routeIsDescendantBinding(route); } catch (error) { break exceptionLanding13; } if (value3) { try { pickSplatBinding = pickSplat; } catch (error) { break exceptionLanding13; } try { value4 = pickSplatBinding(item); } catch (error) { break exceptionLanding13; } if (value4) { break loopExit2; } r1 = item2; continue; } r1 = item2; continue; } item2.return(); return true; } return false; break exceptionSkip13; } try { item2.return(); } catch { } throw error; break exceptionSkip13; } } function getFallbackTransactionName(a0, a1) { // fn#12867, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:1806, offset: 0x00dd906d, size: 51 bytes, params: 3, frame: 14 var pathname; var r0; if (env0_4) { r0 = stripBasenameFromPathname(a0.pathname, a1); } else { pathname = a0.pathname; pathname = !pathname ? '' : pathname; r0 = pathname; } return r0; } function getNormalizedName(a0, a1, a2) { // fn#12868, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:1911, offset: 0x00dd90a0, size: 647 bytes, params: 4, frame: 30 var r19; var r17; var r12; var r16; var items2; var route; var index; var path; var pathIsWildcardAndHasChildrenBinding; var value4; var property; var value5; var value6; var value7; var HermesInternal; var concat; var value8; var trimSlashBinding; var value9; var prefixWithSlashBinding; var value10; var value11; var pathname; var value12; var value13; var value14; var value15; var getNumberOfUrlSegmentsBinding; var numberOfUrlSegmentsBinding; var numberOfUrlSegmentsBinding2; var value18; var pathEndsWithWildcardBinding; var value19; var binding; var value20; var slice; var value21; var sendIndexPathBinding; var error; let value = ''; const r7 = arguments.length > 3 ? arguments[3] === undefined ? value : arguments[3] : value; if (!a0) { value = environment; return [env0_4 ? stripBasenameFromPathname(a1.pathname, r7) : a1.pathname, 'url']; } let length = a0.length; if (length === 0) { value = environment; return [env0_4 ? stripBasenameFromPathname(a1.pathname, r7) : a1.pathname, 'url']; } if (!a2) { return [getFallbackTransactionName(a1, r7), 'url']; } const iterator = a2[Symbol.iterator](); const iterator2 = iterator.next; let r5 = iterator; let r6 = value; let item2 = Reflect.apply(iterator2, r5, []); let item = item2.value; item2 = item2.done ? undefined : r5; if (item2 === undefined) { return [getFallbackTransactionName(a1, r7), 'url']; } reducibleLoop9: while (true) { try { route = item.route; } catch (error) { try { item2.return(); } catch { } throw error; } if (route) { try { index = route.index; } catch (error) { try { item2.return(); } catch { } throw error; } if (index) { try { sendIndexPathBinding = sendIndexPath; } catch (error) { try { item2.return(); } catch { } throw error; } try { pathname = item.pathname; } catch (error) { try { item2.return(); } catch { } throw error; } try { value = sendIndexPathBinding(r6, pathname, r7); } catch (error) { try { item2.return(); } catch { } throw error; } item2.return(); return value; } try { path = route.path; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin91: while (true) { if (path) { try { pathIsWildcardAndHasChildrenBinding = pathIsWildcardAndHasChildren; } catch (error) { try { item2.return(); } catch { } throw error; } try { value4 = pathIsWildcardAndHasChildrenBinding(path, item); } catch (error) { try { item2.return(); } catch { } throw error; } if (value4) { break reducibleJoin91; } try { property = path[0]; } catch (error) { try { item2.return(); } catch { } throw error; } try { value5 = property === '/'; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin36: while (true) { reducibleJoin35: while (true) { if (value5) { break reducibleJoin35; } try { length = r6.length; } catch (error) { try { item2.return(); } catch { } throw error; } try { value6 = length - 1; } catch (error) { try { item2.return(); } catch { } throw error; } try { property = r6[value6]; } catch (error) { try { item2.return(); } catch { } throw error; } try { value7 = property === '/'; } catch (error) { try { item2.return(); } catch { } throw error; } if (value7) { break reducibleJoin35; } try { HermesInternal = global.HermesInternal; } catch (error) { try { item2.return(); } catch { } throw error; } try { concat = HermesInternal.concat; } catch (error) { try { item2.return(); } catch { } throw error; } try { value8 = '/' + path; } catch (error) { try { item2.return(); } catch { } throw error; } r19 = value8; break reducibleJoin36; } r19 = path; break reducibleJoin36; } try { trimSlashBinding = trimSlash; } catch (error) { try { item2.return(); } catch { } throw error; } try { value9 = trimSlashBinding(r6); } catch (error) { try { item2.return(); } catch { } throw error; } try { prefixWithSlashBinding = prefixWithSlash; } catch (error) { try { item2.return(); } catch { } throw error; } try { value10 = prefixWithSlashBinding(r19); } catch (error) { try { item2.return(); } catch { } throw error; } try { value11 = value9 + value10; } catch (error) { try { item2.return(); } catch { } throw error; } try { pathname = a1.pathname; } catch (error) { try { item2.return(); } catch { } throw error; } try { value12 = trimSlashBinding(pathname); } catch (error) { try { item2.return(); } catch { } throw error; } try { pathname = item.pathname; } catch (error) { try { item2.return(); } catch { } throw error; } try { value13 = r7 + pathname; } catch (error) { try { item2.return(); } catch { } throw error; } try { value14 = trimSlashBinding(value13); } catch (error) { try { item2.return(); } catch { } throw error; } try { value15 = value12 !== value14; } catch (error) { try { item2.return(); } catch { } throw error; } if (!value15) { try { getNumberOfUrlSegmentsBinding = getNumberOfUrlSegments; } catch (error) { try { item2.return(); } catch { } throw error; } try { numberOfUrlSegmentsBinding = getNumberOfUrlSegmentsBinding(value11); } catch (error) { try { item2.return(); } catch { } throw error; } try { pathname = item.pathname; } catch (error) { try { item2.return(); } catch { } throw error; } try { numberOfUrlSegmentsBinding2 = getNumberOfUrlSegmentsBinding(pathname); } catch (error) { try { item2.return(); } catch { } throw error; } try { value18 = numberOfUrlSegmentsBinding === numberOfUrlSegmentsBinding2; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin90: while (true) { reducibleJoin89: while (true) { if (value18) { try { pathIsWildcardAndHasChildrenBinding = pathIsWildcardAndHasChildren; } catch (error) { try { item2.return(); } catch { } throw error; } try { value20 = pathIsWildcardAndHasChildrenBinding(value11, item); } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin80: while (true) { if (value20) { try { slice = value11.slice; } catch (error) { try { item2.return(); } catch { } throw error; } try { value21 = Reflect.apply(slice, value11, [0, -1]); } catch (error) { try { item2.return(); } catch { } throw error; } r6 = value21; break reducibleJoin80; } r6 = value11; break reducibleJoin80; } try { binding = env0_4; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin83: while (true) { if (binding) { r12 = value; break reducibleJoin83; } r12 = r7; break reducibleJoin83; } try { value = r12 + r6; } catch (error) { try { item2.return(); } catch { } throw error; } try { items2 = []; } catch (error) { try { item2.return(); } catch { } throw error; } try { items2[0] = value; } catch (error) { try { item2.return(); } catch { } throw error; } try { items2[1] = 'route'; } catch (error) { try { item2.return(); } catch { } throw error; } break reducibleJoin89; } try { pathEndsWithWildcardBinding = pathEndsWithWildcard; } catch (error) { try { item2.return(); } catch { } throw error; } try { value19 = pathEndsWithWildcardBinding(value11); } catch (error) { try { item2.return(); } catch { } throw error; } if (value19) { try { pathIsWildcardAndHasChildrenBinding = pathIsWildcardAndHasChildren; } catch (error) { try { item2.return(); } catch { } throw error; } try { value20 = pathIsWildcardAndHasChildrenBinding(value11, item); } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin80: while (true) { if (value20) { try { slice = value11.slice; } catch (error) { try { item2.return(); } catch { } throw error; } try { value21 = Reflect.apply(slice, value11, [0, -1]); } catch (error) { try { item2.return(); } catch { } throw error; } r6 = value21; break reducibleJoin80; } r6 = value11; break reducibleJoin80; } try { binding = env0_4; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin83: while (true) { if (binding) { r12 = value; break reducibleJoin83; } r12 = r7; break reducibleJoin83; } try { value = r12 + r6; } catch (error) { try { item2.return(); } catch { } throw error; } try { items2 = []; } catch (error) { try { item2.return(); } catch { } throw error; } try { items2[0] = value; } catch (error) { try { item2.return(); } catch { } throw error; } try { items2[1] = 'route'; } catch (error) { try { item2.return(); } catch { } throw error; } break reducibleJoin89; } try { binding = env0_4; } catch (error) { try { item2.return(); } catch { } throw error; } reducibleJoin65: while (true) { if (binding) { r17 = value; break reducibleJoin65; } r17 = r7; break reducibleJoin65; } try { value = r17 + r19; } catch (error) { try { item2.return(); } catch { } throw error; } try { items2 = []; } catch (error) { try { item2.return(); } catch { } throw error; } try { items2[0] = value; } catch (error) { try { item2.return(); } catch { } throw error; } try { items2[1] = 'route'; } catch (error) { try { item2.return(); } catch { } throw error; } r16 = items2; break reducibleJoin90; } r16 = items2; break reducibleJoin90; } item2.return(); return r16; } r6 = value11; break reducibleJoin91; } break reducibleJoin91; } } r5 = item2; item2 = Reflect.apply(iterator2, r5, []); item = item2.value; item2 = item2.done ? undefined : r5; if (item2 === undefined) { return [getFallbackTransactionName(a1, r7), 'url']; } continue reducibleLoop9; } } function clearNavigationContext(a0) { // fn#12869, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:2694, offset: 0x00dd9327, size: 65 bytes, params: 2, frame: 12 const binding = env0_5; const property = binding[binding.length - 1]; const value2 = undefined; if ((property == null ? value2 : property.token) === a0) { env0_5.pop(); } return value2; } function getActiveRootSpan() { // fn#12870, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:2808, offset: 0x00dd9368, size: 131 bytes, params: 1, frame: 15 var op; var value; const value2 = undefined; const activeSpan = (require(826) /* metro dependency 826 */).getActiveSpan(); const r1 = activeSpan ? (require(826) /* metro dependency 826 */).getRootSpan(activeSpan) : value2; if (r1) { value = require(826) /* metro dependency 826 */; op = value.spanToJSON(r1).op; return op === 'navigation' ? r1 : op !== 'pageload' ? value2 : r1; } return value2; } function getNavigationContext() { // fn#12871, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:3011, offset: 0x00dd93eb, size: 54 bytes, params: 1, frame: 5 const length = env0_5.length; const value2 = null; return length > 0 && value2 != env0_5[length - 1] ? env0_5[length - 1] : value2; } function resolveRouteNameAndSource(a0, a1, a2, a3) { // fn#12873, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:3598, offset: 0x00dd9451, size: 167 bytes, params: 5, frame: 21 var r1; var r2; var value7; var property; let value = undefined; const value2 = ''; const r8 = arguments.length > 4 ? value === arguments[4] ? value2 : arguments[4] : value2; const value5 = locationIsInsideDescendantRoute(a0, a2); if (value5) { value7 = prefixWithSlash(rebuildRoutePathFromAllRoutes(a2, a0)); r1 = 'route'; r2 = value7; } else { r1 = 'url'; r2 = value; } if (value5) { if (!r2) { value = env0_3(getNormalizedName(a1, a0, a3, r8), 2); property = value[0]; r1 = value[1]; r2 = property; } } else { value = env0_3(getNormalizedName(a1, a0, a3, r8), 2); property = value[0]; r1 = value[1]; r2 = property; } r2 = !r2 ? a0.pathname : r2; return [r2, r1]; } function setNavigationContext(a0, a1) { // fn#12874, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:3977, offset: 0x00dd94f8, size: 147 bytes, params: 3, frame: 14 const object2 = {}; if (env0_5.length >= 10) { if ((require(1150) /* metro dependency 1150 */).DEBUG_BUILD) { (require(826) /* metro dependency 826 */).debug.warn('[React Router] Navigation context stack overflow - removing oldest context'); } env0_5.shift(); } const binding = env0_5; binding.push({token: object2, targetPath: a0, span: a1}); return object2; } function rebuildRoutePathFromAllRoutes_loop(a0) { // fn#12863, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:1191, owner: rebuildRoutePathFromAllRoutes._loop, offset: 0x00dd8edb, size: 211 bytes, params: 2, frame: 20 var environment; var r0; var value; var value2; var stripBasenameFromPathnameBinding; var pathname; var value4; var object2; var trimSlashBinding; if (a0.route.path) { if (a0.route.path !== '*') { value = ((a0) => { var r4; r4 = a0.route.path || ''; return r4[r4.length - 1] !== '*' ? r4 : r4.slice(0, -1); })(a0); value2 = environment.__proto__; stripBasenameFromPathnameBinding = stripBasenameFromPathname; pathname = require.pathname; value4 = stripBasenameFromPathnameBinding(pathname, prefixWithSlash(a0.pathnameBase)); pathname = require.pathname; if (pathname === value4) { object2 = {}; object2.v = trimSlash(value4); r0 = object2; } else { object2 = {}; trimSlashBinding = trimSlash; value = trimSlashBinding(value || ''); object2.v = trimSlashBinding(value + prefixWithSlash(rebuildRoutePathFromAllRoutes(a0.filter(_fun12865), {pathname: value4}))); r0 = object2; } return r0; } } } function _fun12865(a0) { // fn#12865, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1284:1567, offset: 0x00dd8ff4, size: 22 bytes, params: 2, frame: 2 return a0 !== env0_0.route; }