/* Metro module 887; source: unknown; dependencies: [57, 840] */ import * as Module00057Module from './module-00057.js'; /* Metro dependency 57 */ function _fun9636(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#9636, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1014:6, offset: 0x00d6cfea, size: 146 bytes, params: 8, frame: 20 const env0_0 = require; const parseRetryAfterHeader2 = parseRetryAfterHeader; const closure2 = function(a0, a1) { var r0; r0 = a0[a1] || a0.all; r0 = !r0 ? 0 : r0; return r0; }; const Object = global.Object; const defineProperty = Object.defineProperty; const Symbol = global.Symbol; Reflect.apply(defineProperty, Object, [exports, Symbol.toStringTag, {value: 'Module'}]); exports.DEFAULT_RETRY_AFTER = 60000; exports.disabledUntil = closure2; exports.isRateLimited = isRateLimited; exports.parseRetryAfterHeader = parseRetryAfterHeader2; exports.updateRateLimits = updateRateLimits; function parseRetryAfterHeader(a0) { // fn#9637, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1014:105, offset: 0x00d6d07c, size: 183 bytes, params: 2, frame: 17 var r2; var r0; var value; if (arguments.length > 1) { if (arguments[1] !== undefined) { r2 = arguments[1]; } else { value = require(840) /* metro dependency 840 */; value = value.safeDateNow(); r2 = value; } } else { value = require(840) /* metro dependency 840 */; value = value.safeDateNow(); r2 = value; } const parseInt = global.parseInt; value = '' + a0; value = parseInt(value, 10); if (global.isNaN(value)) { value = global.Date.parse('' + a0); if (global.isNaN(value)) { r0 = 60000; } else { value -= r2; r0 = value; } return r0; } return 1000 * value; } function isRateLimited(a0, a1) { // fn#9639, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1014:441, offset: 0x00d6d14d, size: 86 bytes, params: 3, frame: 15 var r1; var value; if (arguments.length > 2) { if (arguments[2] !== undefined) { r1 = arguments[2]; } else { value = require(840) /* metro dependency 840 */; value = value.safeDateNow(); r1 = value; } } else { value = require(840) /* metro dependency 840 */; value = value.safeDateNow(); r1 = value; } return disabledUntil(a0, a1) > r1; } function updateRateLimits(a0, a1) { // fn#9640, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:1014:646, offset: 0x00d6d1a3, size: 540 bytes, params: 3, frame: 38 var r2; var r22; var r5; var r23; var r24; var r26; var r25; var value; var statusCode; var headers; var value2; var moduleValue; var safeDateNow; var value3; var value4; var Object; var assign; var value5; var property; var value6; var trim; var value7; var split; var iterator; var iterator2; var value8; var value9; var item; var item2; var value10; var binding; var value11; var property2; var property3; var parseInt; var int; var isNaN; var isNaN2; var value12; var value13; var value14; var iterator3; var item3; var value15; var value16; var value17; var includes; var value18; var value19; var value20; var error; exceptionSkip60: while (true) { exceptionLanding60: while (true) { exceptionSkip57: while (true) { exceptionLanding57: while (true) { value = undefined; statusCode = a1.statusCode; headers = a1.headers; if (arguments.length > 2) { if (value !== arguments[2]) { value4 = arguments[2]; r2 = value4; break; } value2 = environment; moduleValue = require(840) /* metro dependency 840 */; r2 = moduleValue.safeDateNow(); break; } value2 = environment; moduleValue = require(840) /* metro dependency 840 */; safeDateNow = moduleValue.safeDateNow; value3 = Reflect.apply(safeDateNow, moduleValue, []); r2 = value3; Object = global.Object; assign = Object.assign; value5 = Reflect.apply(assign, Object, [{}, a0]); if (headers == null) { r22 = value; } else { property = headers['x-sentry-rate-limits']; r22 = property; } if (headers == null) { r5 = value; } else { property = headers['retry-after']; r5 = property; } if (!r22) { if (r5) { value6 = environment; value5.all = r2 + parseRetryAfterHeader(r5, r2); break; } if (statusCode !== 429) { break; } value5.all = r2 + 60000; break; } trim = r22.trim; value7 = Reflect.apply(trim, r22, []); split = value7.split; iterator = Reflect.apply(split, value7, [','])[Symbol.iterator](); iterator2 = iterator.next; value8 = environment; value9 = 60; r23 = iterator; while (true) { item2 = Reflect.apply(iterator2, r23, []); item = item2.value; item2 = item2.done ? undefined : r23; if (item2 === value) { break; } try { split = item.split; } catch (error) { break exceptionLanding60; } try { value10 = Reflect.apply(split, item, [':', 5]); } catch (error) { break exceptionLanding60; } try { binding = Module00057Module; } catch (error) { break exceptionLanding60; } try { value11 = binding(value10, 5); } catch (error) { break exceptionLanding60; } try { property = value11[0]; } catch (error) { break exceptionLanding60; } try { property2 = value11[1]; } catch (error) { break exceptionLanding60; } try { property3 = value11[4]; } catch (error) { break exceptionLanding60; } try { parseInt = global.parseInt; } catch (error) { break exceptionLanding60; } try { int = parseInt(property, 10); } catch (error) { break exceptionLanding60; } try { isNaN = global.isNaN; } catch (error) { break exceptionLanding60; } try { isNaN2 = isNaN(int); } catch (error) { break exceptionLanding60; } if (isNaN2) { r23 = value9; continue; } r23 = int; try { value12 = 1000 * r23; } catch (error) { break exceptionLanding60; } if (property2) { try { split = property2.split; } catch (error) { break exceptionLanding60; } try { value14 = Reflect.apply(split, property2, [';']); } catch (error) { break exceptionLanding60; } try { iterator = value14[Symbol.iterator](); iterator3 = iterator.next; } catch (error) { break exceptionLanding60; } r24 = iterator; while (true) { try { item3 = Reflect.apply(iterator3, r24, []); item = item3.value; item3 = item3.done ? undefined : r24; } catch (error) { break exceptionLanding60; } try { value15 = item3 === value; } catch (error) { break exceptionLanding60; } if (value15) { r23 = item2; break; } value16 = item === 'metric_bucket'; if (!value16) { r26 = value16; continue; } r26 = property3; if (!r26) { r25 = r26; continue; } try { try { split = property3.split; } catch (error) { break exceptionLanding57; } } catch (error) { break exceptionLanding60; } try { try { value17 = Reflect.apply(split, property3, [';']); } catch (error) { break exceptionLanding57; } } catch (error) { break exceptionLanding60; } try { try { includes = value17.includes; } catch (error) { break exceptionLanding57; } } catch (error) { break exceptionLanding60; } try { try { value18 = Reflect.apply(includes, value17, ['custom']); } catch (error) { break exceptionLanding57; } } catch (error) { break exceptionLanding60; } value19 = !value18; r25 = value19; if (r25) { continue; } try { try { value20 = r2 + value12; } catch (error) { break exceptionLanding57; } } catch (error) { break exceptionLanding60; } try { try { value5[item] = value20; } catch (error) { break exceptionLanding57; } } catch (error) { break exceptionLanding60; } r24 = item3; } } else { try { value13 = r2 + value12; } catch (error) { break exceptionLanding60; } try { value5.all = value13; } catch (error) { break exceptionLanding60; } r23 = item2; } } return value5; break exceptionSkip57; } try { try { item3.return(); } catch { } } catch (error) { break exceptionLanding60; } try { throw error; } catch (error) { break exceptionLanding60; } break exceptionSkip57; } break exceptionSkip60; } try { item2.return(); } catch { } throw error; break exceptionSkip60; } } } global.__d(_fun9636, 887, [57, 840]) /* metro module 887, dependencies: [57, 840] */;