Files
nexus/sreweekly/articles/532/06-how-uber-conquered-database-overload-the-journey-from-static-rate-limi.html

748 lines
529 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html><html lang="en" dir="ltr"><head><meta charset="utf-8" /><title>How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management</title><meta http-equiv="Content-Security-Policy" content="block-all-mixed-content,frame-src 'self' 'self' blob: d1a3f4spazzrp4.cloudfront.net d1w2poirtb3as9.cloudfront.net d3i4yxtzktqr9n.cloudfront.net d1nyezh1ys8wfo.cloudfront.net d3i4yxtzktqr9n.cloudfront.net *.altrulabs.com *.doubleclick.net *.facebook.com *.facebook.net *.google-analytics.com *.google.com *.hotjar.com *.hotjar.io *.hotjar.net *.snapchat.com *.qualtrics.com *.youtube.com analytics.pangle-ads.com analytics.tiktok.com api.company-target.com app.acuityscheduling.com atag.adgile.media *.bing.com maps.googleapis.com px.ads.linkedin.com s.company-target.com sc-static.net/scevent.min.js snap.licdn.com static.ads-twitter.com tag-logger.demandbase.com tag.demandbase.com/e353a7a2a87d1338.min.js tags.tiqcdn.com *.mutinycdn.com https://www.googleadservices.com/pagead/ tb-static.uber.com/prod/uber-static/uber-sites/all-live-pages.json tracking.intentsify.io translate.googleapis.com uber.formstack.com uber.zappy-ride.com usage-us.talentplatform.com google-analytics.com google.fr google.ca https://www.googletagmanager.com *.yimg.jp *.yjtag.jp jometer.com *.amazon-adsystem.com *.uber.com *.yahoo.co.jp *.clarity.ms *.taboola.com block.opendns.com t.co *.uber-assets.com *.uberinternal.com *.twitter.com *.jometer.com *.ibb.co id.rlcdn.com jotrack.s3.amazonaws.com cur.cursors-4u.net *.gstatic.com google.co.in/pagead s.yimg.com/wi/ytc.js sp.analytics.yahoo.com redditstatic.com/ads/pixel.js alb.reddit.com/rp.gif s3.amazonaws.com/jotrack https://www.redditstatic.com https://pixel-config.reddit.com https://conversions-config.reddit.com https://api.c99.ai/api/v1/fire/snippet https://dx.mountain.com/spx https://gs.mountain.com/gs https://px.mountain.com/st 44.238.122.172 100.20.58.101 35.85.84.151 44.228.85.26 34.215.155.61 35.160.46.251 52.71.121.170 18.210.229.244 44.212.189.233 3.212.39.155 52.22.50.55 54.156.2.105 live.rezync.com/sync live.rezync.com/pixel idsync.rlcdn.com/ p.rfihub.com/ js.driftt.com https://munchkin.marketo.net/munchkin.js https://munchkin.marketo.net/163/munchkin.js https://js.adsrvr.org/up_loader.1.1.0.js https://tag.demandbase.com/8fd99f526b0979ce.min.js https://insight.adsrvr.org/ https://js.adsrvr.org/universal_pixel.1.1.3.js https://match.adsrvr.org *.mktoresp.com wss://*.hotjar.com ads-engagement.presage.io https://scripts.inmarkethub.com/conversion-tracking/ https://accounts.google.com 'self',worker-src 'self' 'self' https: http: data: blob: blob:,child-src 'self' blob: blob: 'self' blob: d1a3f4spazzrp4.cloudfront.net d1w2poirtb3as9.cloudfront.net d3i4yxtzktqr9n.cloudfront.net d1nyezh1ys8wfo.cloudfront.net d3i4yxtzktqr9n.cloudfront.net *.altrulabs.com *.doubleclick.net *.facebook.com *.facebook.net *.google-analytics.com *.google.com *.hotjar.com *.hotjar.io *.hotjar.net *.snapchat.com *.qualtrics.com *.youtube.com analytics.pangle-ads.com analytics.tiktok.com api.company-target.com app.acuityscheduling.com atag.adgile.media *.bing.com maps.googleapis.com px.ads.linkedin.com s.company-target.com sc-static.net/scevent.min.js snap.licdn.com static.ads-twitter.com tag-logger.demandbase.com tag.demandbase.com/e353a7a2a87d1338.min.js tags.tiqcdn.com *.mutinycdn.com https://www.googleadservices.com/pagead/ tb-static.uber.com/prod/uber-static/uber-sites/all-live-pages.json tracking.intentsify.io translate.googleapis.com uber.formstack.com uber.zappy-ride.com usage-us.talentplatform.com google-analytics.com google.fr google.ca https://www.googletagmanager.com *.yimg.jp *.yjtag.jp jometer.com *.amazon-adsystem.com *.uber.com *.yahoo.co.jp *.clarity.ms *.taboola.com block.opendns.com t.co *.uber-assets.com *.uberinternal.com *.twitter.com *.jometer.com *.ibb.co id.rlcdn.com jotrack.s3.amazonaws.com cur.cursors-4u.net *.gstatic.com google.co.in/pagead s.yimg.com/wi/ytc.js sp.analytics.yahoo.com redditstatic.com/ads/pixel.js alb.reddit.com/rp.gif s3.amazonaws.com/jotrack https://www.redditstatic.com https://pixel-config.reddit.com https://conversions-config.reddit.com https://api.c99.ai/api/v1/fire/snippet https://dx.mountain.com/spx https://gs.mountain.com/gs https://px.mountain.com/st 44.238.122.172 100.20.58.101 35.85.84.151 44.228.85.26 34.215.155.61 35.160.46.251 52.71.121.170 18.210.229.244 44.212.189.233 3.212.39.155 52.22.50.55 54.156.2.105 live.rezync.com/sync live.rezync.com/pixel idsync.rlcdn.com/ p.rfihub.com/ js.driftt.com https://munchkin.marketo.net/munchkin.js https://munchkin.marketo.net/163/munchkin.js https://js.adsrvr.org/up_loader.1.1.0.js https://tag.demandbase.com/8fd99f526b0979ce.min.js https://insight.adsrvr.org/ https://js.adsrvr.org/universal_pixel.1.1.3.js https://match.adsrvr.org *.mktoresp.com wss://*.hotjar.com ads-engagement.presage.io https://scripts.inmarkethub.com/conversion-tracking/,connect-src 'self' 'self' blob: d1a3f4spazzrp4.cloudfront.net d1w2poirtb3as9.cloudfront.net d3i4yxtzktqr9n.cloudfront.net d1nyezh1ys8wfo.cloudfront.net d3i4yxtzktqr9n.cloudfront.net *.altrulabs.com *.doubleclick.net *.facebook.com *.facebook.net *.google-analytics.com *.google.com *.hotjar.com *.hotjar.io *.hotjar.net *.snapchat.com *.qualtrics.com *.youtube.com analytics.pangle-ads.com analytics.tiktok.com api.company-target.com app.acuityscheduling.com atag.adgile.media *.bing.com maps.googleapis.com px.ads.linkedin.com s.company-target.com sc-static.net/scevent.min.js snap.licdn.com static.ads-twitter.com tag-logger.demandbase.com tag.demandbase.com/e353a7a2a87d1338.min.js tags.tiqcdn.com *.mutinycdn.com https://www.googleadservices.com/pagead/ tb-static.uber.com/prod/uber-static/uber-sites/all-live-pages.json tracking.intentsify.io translate.googleapis.com uber.formstack.com uber.zappy-ride.com usage-us.talentplatform.com google-analytics.com google.fr google.ca https://www.googletagmanager.com *.yimg.jp *.yjtag.jp jometer.com *.amazon-adsystem.com *.uber.com *.yahoo.co.jp *.clarity.ms *.taboola.com block.opendns.com t.co *.uber-assets.com *.uberinternal.com *.twitter.com *.jometer.com *.ibb.co id.rlcdn.com jotrack.s3.amazonaws.com cur.cursors-4u.net *.gstatic.com google.co.in/pagead s.yimg.com/wi/ytc.js sp.analytics.yahoo.com redditstatic.com/ads/pixel.js alb.reddit.com/rp.gif s3.amazonaws.com/jotrack https://www.redditstatic.com https://pixel-config.reddit.com https://conversions-config.reddit.com https://api.c99.ai/api/v1/fire/snippet https://dx.mountain.com/spx https://gs.mountain.com/gs https://px.mountain.com/st 44.238.122.172 100.20.58.101 35.85.84.151 44.228.85.26 34.215.155.61 35.160.46.251 52.71.121.170 18.210.229.244 44.212.189.233 3.212.39.155 52.22.50.55 54.156.2.105 live.rezync.com/sync live.rezync.com/pixel idsync.rlcdn.com/ p.rfihub.com/ js.driftt.com https://munchkin.marketo.net/munchkin.js https://munchkin.marketo.net/163/munchkin.js https://js.adsrvr.org/up_loader.1.1.0.js https://tag.demandbase.com/8fd99f526b0979ce.min.js https://insight.adsrvr.org/ https://js.adsrvr.org/universal_pixel.1.1.3.js https://match.adsrvr.org *.mktoresp.com wss://*.hotjar.com ads-engagement.presage.io https://scripts.inmarkethub.com/conversion-tracking/ https://dyguxp1m9tbrw.cloudfront.net https://tc2.uber.com https://u-vsm.tmobiapi.com https://*.tiles.mapbox.com https://api.mapbox.com https://events.mapbox.com https://*.googleapis.com https://*.gstatic.com *.mutinyhq.com *.mutinyhq.io *.mutinycdn.com anylist.c.appier.net t0.c.appier.net gocm.c.appier.net a.c.appier.net s.c.appier.net c.c.appier.net tags.srv.stackadapt.com qvdt3feo.com srv.stackadapt.com ap.srv.stackadapt.com east.srv.stackadapt.com uw.srv.stackadapt.com eu.srv.stackadapt.com https://bzr.openai.com/v1/ https://dev.visualwebsiteoptimizer.com/j.php https://accounts.google.com https://auth.uber.com https://auth-sandbox.uber.com https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://*.g.doubleclick.net https://*.google.com *.google.com *.google.ad *.google.ae *.google.com.af *.google.com.ag *.google.com.ai *.google.al *.google.am *.google.co.ao *.google.com.ar *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm *.google.mn *.google.ms *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve *.google.vg *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za *.google.co.zm *.google.co.zw *.google.cat https://api-js.mixpanel.com,manifest-src 'self',form-action 'self',object-src 'none',script-src 'self' 'unsafe-inline' https://d1a3f4spazzrp4.cloudfront.net https://d3i4yxtzktqr9n.cloudfront.net https://tb-static.uber.com https://tbs-static.uber.com 'sha384-uz/zkz9WuwnKIfnZwq07mY/+pnQXl8rIsiktlBWprZVXVlG3uTAUtHsx7v+5kY3b' 'sha384-s8O/2fJjJeL6O7Kf+/mLDMq2hnb+dK0Ry1PZr/k0avYEw/yyhQSlSmBD3zj5gPEf' 'sha384-IK4C5JaYfIMZ7/sFaGOgESMO6B/5tt6MxnF4IW2TO3mKObw5X9po8UwdFYbxn4/j' 'sha384-vvoTCCkIMpTkfRbsS6hkYe2EhjwXnmSBSH87Klmn1D2+dd/Vy8b/FrA8phkLcv8P' 'sha384-RNRcIV0lzwICzecOP0K3SspQ5x9oTTUoqGrWVh2zqEXFt4JxJtS0unJhDG/bRgVN' 'sha384-FkEc9nRWUC0IwXGTrmcV+3SnM0FLtUHGp4266nDv2YNVpt/utgZLKzeRGd5RpwKN' 'sha384-uVhFLrftFnJEWH0MUKUcYlPtXeMKIwLPy2V60QGTGrLm0TdiL/vGVY9Letp0oJkS' 'sha384-wtYvA6eV7EgPY10szfaEqlbnFCZw81QJDk/Peu/UW2NEf4YIDIc6wLay1crlMZ0N' 'sha384-bZXOTwDrnuvuw0AzCbLr6Ll98Aiim4TJUDyVBPO2wHh3tUUhtPS73V5AsRqVLG2l' 'sha384-ZbZky+e3F5XTbqh7npLhiQxB9/PzkpTzEyNhhxFev61Yrk01RlljB7Bp1BKP3+8Y' 'sha384-K21uq2zWCjNoMWg02Y/r737EVbmhYx5wCEfkKBMFM4iCESPuQdyROzMOPvL1e4jW' 'sha384-dVfZ1x2r87CXrmb2rhLU6n21LhRMyFbA04mt3Z8sCiT78/Hup/7dvIwnT/C9TP3j' 'sha384-aA4C20R0ZtCMAZi+OYe7IdmfkefeiFZ8SvT+gE6EOGvkDnm9TPFC1AL/ikOZ9YwC' 'sha384-8LeuuHxbTpOmH/Sq3v/rlfNLrAIx5gHt2yPrdUxlYeigpMuLQOI6F5srE94olo+d' 'sha384-V0oIMW62Ir2sa+0yFEqng1tmQIeRX9rn3DzT2Tpe0huB8MQih72S0dADgQZLAb8E' 'sha384-wYWOEPO5Ti4a6xi6hc5bzS5qwWKu/L2zeCfT/94jMJ6kMVlzmnsHZ//hNwMWFNNE' 'sha384-oCrJhgJzV8Rh2/rg20fSg9Wl//6KFh5IxkUv+0RtsKeYllC9uprVZL+9KlIrtfrV' 'sha384-4POhDul7hraVTPCdHfPumHQviMMZtQeRTJNgS4Hl4mcDR/o2cJfgtkl+ExDB/qCm' 'sha384-0XoU+eWYfSEGm3fqm3eAcuOY6+eUTGQ1f7JWSErqy4orr6nl66H9FV6I2Ygef4ae' 'sha384-trzOFbXK3+IYjF53zwAZjh86fFLqAMM0hQaIPLvhbk7nGYYuJw5p5sfRKQn5kgsb' 'sha384-oSY6G/8y2iEvLMolRwtzUr20ecKRTpwzXOUDBTv5NJZFBoGHoali37ISW6RRgfG3' 'sha384-amQnXzn6BlmAU3YygYrsZt3ppUSHGtUreNiA9Hddv7FB7/+PoVrkDo1IzKcvIMZG' 'sha384-ZmtBOD2wt5lbXre7u7CunPBe3s5J7V5tTTu5hUbVHPUW0hJWCWlscQtPAuDGV4Ri' 'sha384-+s3u5F9Tl+XPAb0HJhdkjq3kvuaZNGMMyrivibV9tUvG64mrd+CkBhB6Ny91Bn57' 'sha384-TK6uHI6GWFH+u0TcjK1cMU3vHul+5fjsQbvWJ15lhooqBREWXSb1GWJu6JO7eih3' 'sha384-YuygwYtaObUytd5B+R0u2nxYZ+JVh0yqFkUK1txTTWf0lbpf+zi2sC8s7v3EWyHj' 'sha384-HCZDz69syikei7nvTjPgqG/uIOEoiPD5fMw7QTgFkhrjFvUpLXSi+iltPKwYBc37' 'sha384-0CJQ9QgpCbCSS+7YM5Mo8wUDNuaoP4uioBqjtsozRnu+jYHdheQ5uo1U1gqRlodu' 'sha384-JOvah6ONP59YbfNzWKXCez+VkiU7imbMmh74uIRu5edc99fQEnqTOE+3S2xhcaRy' 'sha384-kbQUq8oBZjfPX7a/6NBIhGiHMj4aP6P7bISG0eiLi2OJEiJvYp1o+TwQS2o0pZjI' 'sha384-1cnQOwxAIoq3J84jSwZcwEuY9T1uFoV3FNlx3T2zE7mOuY9V3fGWsQEbv9td0uq7' 'sha384-Q08lmszA+fSQQkV6EQnKxRbjf4WHePiVfoAkT5dBuaAOmgknryKGHRb4BpT2rdKa' 'sha384-E8AfJf+AS1/Cctn3QvzQzKJOmmhnMmuLtrQDsmc3kTgeVcJUWzvWk+wYUS4iCHTw' 'sha384-+g4/3au6lhEHehwpSsFLpspS7U1PLUBFNkZjIpvW32l8FsenXN8GKFSqi2qLEMMi' 'sha384-quqbR/Nd08/FWZBO2jncaG1kOUFJlPTM3MEOiDIgBwPiD+/5wkPUjO3J42vhyH+r' 'sha384-jYGH8LuTakXAcACyf4dqo42RnYEOMK5+x4Tf2ixsx/7FwCkEinHbod/Ixjesds6R' 'sha384-eK2j+lkmBl34A0KgV0sfiWoxaG4M7InhJC8u6M+XEPhlsMRRH+uZMw+5SpM1rXIp' 'sha384-33O+Tw4Tyw/4oHkmxOXiW2rlcVvEocFvRXUurdrjtK7TMxiC6rmhgLjvl0skfQDU' 'sha384-WJf9FyF0hPfIImiv9IRjWWj+qYqMfq7wX+1ahJhxctJzlUMCot+NwMI10Qo8V0W1' 'sha384-9EcZuY8jaYzBVyqXgcAp2oyP4EGum58ugIAGr0AnY5IQzDMq/ONcjXHtr3W9SLGQ' 'sha384-beFubc8goNrlolw0pckYchvNqvv0gxq1FsIc7AclIl/qK5wDiXcmMgEJJuHMOxx/' 'sha384-iLFBvpJ5L7qe3+pVS1iZdH99tbZzHTBmP/Oy1vbsYxbQErA9iEVZ41Ow+PGu/KqK' 'sha384-nLhj0nExlZyIK9unaZU9tKMFJGPGw9OkCfwQ1G+ENZHdoi3PJ6VwYPgQ0GvJ6/oh' 'sha384-DgZLliy4cfiDSUuZ0wWSn0YYaVAMWFer6jvOi4h38Pq+JJeNn1RfV5D5X2v7ul6W' 'sha384-Cur4bI7H7xKGJrP3hPAPC0LueRhASFEHW4qPRG2fnCEjV8T3UloJK3Ejw87O2pQt' 'sha384-PlKd6xoiDqueIj1Vg5cZy8tf6GFfsvLQiPHFpivOX+tAXWxf3D1faf3Nrfi3h2gi' 'sha384-zwstNLnvu4/KYdeW+nY32kDEtaWERY4GKTrEgu7eYLhb6qwCwdr2ZvKyC5XrVqu/' 'sha384-QuQ436viKHmPg7Op2bMhrzprNm+jrIwidvm4xzYSXgjHMCtK3OMBTjK7n9/UrlTM' 'sha384-7sU7f3Fygfxq7hMlY+EIJYcUbxi6oF1lsZlDB3nU/DzTwM49xCqR7SgsmufPn3m5' 'sha384-5wugsVy0jkQ8eGUJeQR9rGkci4amv3cLru9yBRrZJDS8seBqtBWbQVYE504N4+4E' 'sha384-y0fBKqrvvXb8OCJrJ4jez87bhhEn7BZHPqy1J0ij2fE8hSm5lMqm/J0P8pu2any0' 'sha384-9NOZ4ohrw/P227Y5ogy8NekFoJexqsrYIBbcTXFrikCMZQ5y77xNBeu4H9Dy1l1C' 'sha384-NBl5q/x/JZuVyCSqEcNFFiLWTbjSNweTJJncjx/7TfSAZAurOa3UhGIUm6bbR41G' 'sha384-8JAsha7gOHshCZdMbKercN/E7PyDN/Xvk5KYN/Mn+w680uSIBaLcIbq7H5oigl0c' 'sha384-ri5qkPkbqWIuYhT3ktoV887Q4JotOSsamFP6Uzor1sgcbUZJe5LmEJO5Sh1qX07O' 'sha384-mp05521C8uyqptoHBK49ejAy1NNPQo/42rNTbmn9JqSM+HRYfJPNjOXbQsgOacxR' 'sha384-Z66yNk3buiYA8nD4Tho6ETMGSljf0yazbmSWIgYNy/gKpeajufLYj303P+i4gVaJ' 'sha384-2eWBTfCdaLFXKPiE6w2g/rDmuxmVbQcwZF1B+UdaeKKDjmBd5jFcdpH9RjvbI+6Z' 'sha384-TUmxnL6zGFF7kiSAizihQ20CgjlVrxyORWjki03zYKCW/XI5/zuwE794gSMV/QSt' 'sha384-do9qCnE6USc3evZD27waiuDjCfUMLcZs2C5MVJQM+H3T/ndTmfwt/Xib12uHtD0f' 'sha384-7N2dNGqyslbHmZVNY8YTScpbxnKyXKdPBBVZ1KIrqEyeUzQUsmwwlRgud0CtIE+3' 'sha384-HChNsBMwgEsopqmcsklik4Vm+W+8mJBh1/FLOyE7QLKIiAU5Yw5AEJ3T0OdUBcu8' 'sha384-zKVKmm2l903uR2PVaKVmfBa2MNUUDngaC6TFX8XA7rMP4TqKxt90VeO899fz7dzl' 'sha384-XArjU5ZDpFEjrv6Y9DROrggd5uPexSLfsKDgZTn+Czujlkm6IuyFHDWYNPcDHvk+' 'sha384-x+jMJE712BoZ8dz2xr3XBzrpw1hjFukT9tUNt7KoC6scTol/t8yLUIbgJCNMdn2i' 'sha384-Ot7OMh7VbP5KJLhfUCgy1sVYA5kUbZNkN0lCb2cy+cQ2S7OakHsoXLATqXr8cpqX' 'sha384-6fzsK3QyuuQkf2HwSdOSgOeZ392LF/sQHzFaYM1updvV/KyQsn9JjE0+NJIOCeXT' 'sha384-TLEXn+J55ox/RRIwdvNN/UvudxyYlmZvuKTFia8EQWYA7CIDSsSvIKcNqyfrfaDP' 'sha384-D+zeDZFhBYGg1+gEzEizZPXFjBsF2h4kIdDzJNBF5MJZj12uRAg/RY2vR7/EM507' 'sha384-1lW/KT8z6k0qE6eJVaBRmB8tlI+rg/f8L25qql3yDo3+ZY4Zg02/IbEI/Lg1Egxx' 'sha384-5weAxDKL9hkm7DmPEXNSlQh7rqLMPyxGEtytewG4MLmkSFvBR5gMOlWmgDZs+Lln' 'sha384-Ds0BKGPBvhzqlg5Viiod+1G1Pb9HyGlLKVQa53vs5+xgMETHG77ILsBOwo0pF+Xv' 'sha384-CjEer5uRUMSIDxcg1RD6GByr5CZWQpeM7RhgPmBIiHGexaQ6RD7TTfIgRp92mBAq' 'sha384-zoKmTxBqTf/DTyoELxuQKXDFZfx8BtqEb37TvMDDP0JYCJ78q8ovdgG9mFawzmL1' 'sha384-A5bNAxRyc+fcXZ8st2kVIBQfUYRzimZSAFFaK/SYs7IyOOifYRM6NNeYAQtON40O' 'sha384-67y8IREm3Z0OJWD2J2Lo8r+TWZVKfDDKtgXEk1yHQbwbGfld2uaxmALon0dEBglR' 'sha384-XRyx78Mo1MyUi02TG/SmotWv0k2HvWTRfg79Z0S7+NciNbikEjjr7ul25l0OJtjC' 'sha384-S/upPwjmwZxooNpyQK+c/m4ycK1sAlEEr6LYFFv7uvCfnMVrI+rFd677YgW7ScM7' 'sha384-TwZwG5R2Tox/McwyvrsuTPJCEYhea1eQAWullXFWqyKmASPJUnZEjrkIhT8/5UXu' 'sha384-W4IEMpOWZu/3frpIgNs4rJTaceLXdkMjeWUsy8t9ONiRXE3MB2SkkPwaTbzndRl+' 'sha384-IjqBASmtufIQxMDiprMPMcWYpwIkRqt8u6Udvls5GKacl5y6Bx3aek3U42Jrg2Wt' 'sha384-hwmdrjO8RA30ZfENqXagD8WzbL8+G3PvrDudiZrNkClQMd0O/bUgEBfgGxYoABZ/' 'sha384-vzjb910Pj2SZMsb6bSj5pLGRzLVqgfeBebFUFQj236e+aLIolZ2I2wlLRo6s/u1P' 'sha384-EjdDrgHs9wB+KNutQdIegHb7rJEL4suioOyweuKxl1XcgmWnCTDgBakZ+LXQ7rxb' 'sha384-FxZjuDAjmbY3rqRpDLBkLwvxghXjnzLjhNzYtMHmJGXgH/KdDGCTfeyAWK/Yfz6n' 'sha384-fM0pQ37KFqFhL1G+b/vWux4MS9dVg+ur7eGxzklREmWxYl+WacsCX0wUjdsEiJHN' 'sha384-nDL2c0JkTJUJR6Yibe19FEXoEth1nK+FCC8h6r6VN64xXt68FR/h5P+lrD0XOwG3' 'sha384-IFQwwrCLSZk4vLnZ0DdOqAwIldj0OAp4ElFKlz39yG0YEAn8OYsncizeN2jhjnF/' 'sha384-iHuduYNHtgCISDc+igwLSzw6rzg4KMwLXl+AQ2h/4mZs8qLyoN3YBnLdBk+IcMp7' 'sha384-l4Ix7o/sPjjugp0B+bwmBWTm0IPlUUq7sULs1paNkoAPvNN+a2naBXwXRRSzBZnd' 'sha384-nZ219LC5v8ENQcWQ9jtn/Us+dursggz58SkeqJ3V2C4vXCbZjSNoRkPQY7/pznWJ' 'sha384-w/AUZjUF7V9xcSKPEXu31iUVn2ZIeEGdgBKEWwh/FbsmeyHmeRLIXU1rnFIbarS1' 'sha384-j+vKYxRLQqQ3IAkG/0wBT07T5wJNMaMbpuNRQcZnA1Ou2tkkgIpPLWRMDroing+w' 'sha384-QKAQJfkIlX6ai07j++KnL/Hd1UZx52gxV+b2yXY9p9JvyFPTWm6dSf7mTGmJumCJ' 'sha384-ERdD2dQEH3XftZma7gdcBp6ZjFUeukmpA1HJOkYGoXkZTuNAiHTIg7B9ltc65PBk' 'sha384-ozMs8LVn2kkiBdVchXr2hQ8on/iHHFXI1SuXpPhhCBItMM2+DX5lOTtb/m5NXrQo' 'sha384-3+y8PxLyRHwjxM+JpcC5hloJ1huZfd5gEsjqAVFszTJNCaBJGso5O1P3Tt6Ck8GM' 'sha384-9v49ppqoQqyXEgD1sKiqSntZrUaxQNaEFhCw9c9DkGtrW2FRBiJd9swWZsiZxc5i' 'sha384-fw/WbVfH6e6FFYGkar6iZyAHRi9LKC0oLBIf/J7rMV870ZHAxnqrwK2EdEA7HeNU' 'sha384-Gv6rGKmfQk6FIcS8KortH/hOSrRTYlDMNkJpGpmhDEq4CRxp1GR6JgJG54eJmX8A' 'sha384-rmJiqoHcGBHMuZhZ3bl8KrH2rWLAfoCfjy6RXN7QqEAcGNkLpLcXs2BHptNbRgQB' 'sha384-x9GyJtwv0TqWnjcTEDdriddplBQUNsmPxWAqp4HCxS7EaXvJ7T9ItmtgjhfatNrV' 'sha384-+pySFROjc4R0YsicgguVj4cb8AgRUvD/nokapTO+vMAdVjbUf1QFHIJOWZ2MDXdq' 'sha384-ARzE/rpwFQVs6MfByRvlrkXHUtIdu3vdYHI1zqse54zIYzLnagOTTff9kP/6+ky9' 'sha384-d0wUsqnYqEPya4l9FLhGDKsOR2amI16Q6GTCL0wOSQ9eVLehSVXkgNNXbqzVsD4g' 'sha384-my5VDB74MJiXKf8RJC0acGLU6w/FW9PG/bB2M3jo1c0q+Z21LRZoQV3cZB6GWE1q' 'sha384-R2Uppud0y2ztgijZsM7tqS1COzqlip5pWUCbQHHGIZ2dLj0mUu3g1VYPK8o7PkdO' 'sha384-CbqQ9AipVLjRzcAJ2t2kvY4eJAUEuDQ9JMrU97bmWqHnmT2FBFkH/C2bvLmgaU+B' 'sha384-0/sYlVvzQJpmTiKDsCS7Io18zp3i+Y1DMgV5oUchLM5AS/YJ28zXKbpbeV7OMb1H' 'sha384-C43z3E9ZlmzokvG3r8mjhY30zYAn8Goy0CjYWeah1qc99q+RvWnpt3ExnUA8X5Wt' 'sha384-7qJ2Jx+x8D3O36JMwY8J+UCSM+KTUb/XYiKWAIdqzhG30VO2OxoO/Uv6L55mBR4t' 'sha384-QHYsw9GBQgk+5U0mxiPvjkELW/kd8tNkCogqkdy9kV+i3rQQT6GAlOSa0yyCtMkJ' 'sha384-i7EKpHbxBCHDyzRuJPUV64oZZdJyWL2xtCVF+7GUAE34Tnr3M2FwmkoCBVUsJxi+' 'sha384-03+dHP8zEw2dMIoST+E++pfdFj7PXXpr8StmZkrc6MXutST2shBJDDRJcm42+J4W' 'sha384-3+h3aH5reHuIMkWqSW3WcqinXkxDZZsNp+gd1OSlegyZs/jVthk+m0yYr7FwbpDy' 'sha384-ibCz6Me2KLSVBQ9KCal6EAN5RwF9n8+SS1tjbS8yh7H+9CVFhcknQ6qbLBPRc7+V' 'sha384-tqrO5NmBYnHruyppq1Aa5GmSukhwzEB0J7mNji13jTP1dsjpMN/FWsIs/c6nzI9z' 'sha384-AhcMhmky7vDycwzgIfZVk6GERUP+wWUL6/Dmd+UMRri1/Ww93uPHWrvf9niGAecS' 'sha384-H3nffkB5WxBnRDVqJ42T0GWMfFiBV7dnhkhuBf176PYl5M5ap+8Af3aiRpp4HRYU' 'sha384-hYMLh5KndGUELsboOiXq0z5T9k1d+x+YFyZUMo2lPBNYPUAQ8dFYLU6rvjAt+iXt' 'sha384-m6aZ2MOAGQ7BM+gGZtnoDUy1RsUJKSGtg6T15CYube/W/iVmDAomTlfaR58x56r+' 'sha384-nqFxVd+ctmxViUpMi5kkNJHW4xcqaBEXdr2439vtv2o33mcKY8LyI1ujEci89MYQ' 'sha384-pxl4tIg2ZTEpupXUe4F7Hpwp4v0LbeIgwW9DUsCU6A56GUicS7MO8/KTULbyAaWs' 'sha384-DjEyy3FfhneVWzpvi/j/xUieDnDlBa/83yg6XAp0c1s4EuVcVbNTMpG/xn45WGie' 'sha384-x11hADg2mwtVngBrXGz409zqStjnFvCqjA3WOXuS5GWxL0A3IlCJC5VtQJ/a6zrI' 'sha384-gYVSq1BbcFu+MOkFtPndpqrA2aLQ1KhcBRBDg57Mkc5BlEXiXWEvt4snfIo0sfFQ' 'sha384-8JLYWGigQTtbN53R5zf1/qzfH2TXNzhWgB6RQeHeByuj9SxZlwqAe9eb+4aBP3C4' 'sha384-KHcLNBo9cbC943+reRxtfa3wSSmUIwsz3iijGUczIy8hykQ/7D5GKp9pLZ/FLmmy' 'sha384-/U7YRkyEOm/WXJI0gDBANcYoNVu/awiDEuO5S6WUHbtq4xnR2adbyiwUKVP5BAgH' 'sha384-M8/LM4qvdjek1IzjVvsonuvJxqSK6BtJ8IP4NvEHIHA6v1c41euRIUWpypf1LMdO' 'sha384-4T4Y1//8S1DbY7EVBDQlErrITe1fsVl2I7RIf1fh5raei4GK7yWHJZcpN6F2zCTR' 'sha384-M8D06K9SMXIXwyaaUc59VKZQeCSkUP1hQVLW+7veinlNWZRdFlmcMSIdzavFxWpY' 'sha384-r3Ss0eUUe+z2JzGNF55HMMzSeUPHBsQIElhFkIsJWDEzqaQTnOYcSOTV33cbg7Q3' 'sha384-l7cl80tNNHDbietg0v8sfeT0kNGGm2z2jQbwttiITG/Lc5WCJN75cC+M0t9d9M4s' 'sha384-UfFjTZkTCZZjeiKg+z0R52W863fTAZtd/B1GxfraLQULBCv4gJkqhYZPzvCxjAGv' 'sha384-kO/7pdgYKuoMvQS+0t9wFTLS4jzZvERaN0ZwLKxzNKnp1RxA6YQk8qaYIIrrFsq+' 'sha384-0ICkT/TIippoCerA//w/M+z3ttoxUkdapdzK5GpNCuwvJHVnzvMWGYwwI+UuDaP9' 'sha384-0529MUUsq2tOSdoefP7yllGSn9dRLJgE3gCbOpDw4YkJH86ufuw1eNBgvIaCL0w1' 'sha384-bICb9Dh63/mYZuubJxG9e+wZhpw6wXXojO1WahdOs8JMk5WndElXI/QOfvTYtPvl' 'sha384-1O3KN3PJ4+O8V9m+ywLuapAJUuZR/y+9eN2Ig0T3smiN7hFgCKcqPbZ/P1bNxeK8' 'sha384-tfWNM+Al1vKl3Z4Z+B/lbGqKsuVh0NmHj4ePMJxS66FrbXzQTQIkczsMBlfVg7+r' 'sha384-5qunZJWQgfM8A4oft8MVt8EDcy7iOKPNOaqbaQjmLf9MpFw0G0GrqNOIfxVkkJz+' 'sha384-jc126cutGn061vD1lc45mDOZvx4iFIxqvj6nBSxyi7cvycpHViKrHV/RTThy1kuh' 'sha384-t7rDviYeHPDdhVnaZUwxEY6W6YjE7yWT2KI+4nYlTQbiGRFdeEMRJTCrKp5KQPJ6' 'sha384-J1F438E66U8wlkzm3QBH4/7k3atQrYfbrfY/5ba0ragAvknwZRm+Zn/3WzGjVgcI' 'sha384-bssiS+T7uSH68RzC7qEfzPUczJARE6cF0RtYRm9MPyXetl35+Dw/pnR0y0LtL9P4' 'sha384-p6JJbPI64RbiwNfivD/csZxbBKf30wfUEOzhZUMbcB46Z7Yyg9aQt3syoOn+27LB' 'sha384-LTayLM1sFGQ00QVB42AkLxQzqQ6BpbyvI0pEMZ/Q/+0TupsvS+DiIKlN6MNTGYas' 'sha384-f4NnAl+lKu/wphhg+xPdmeAWbh98kg2fvMeRHFw6+hdBrpS7HZjJs3b1djr22ALc' 'sha384-CXLDh1l1U6PdxRfiOIbhYJJ4W0FW69qW57M3Obq96F+LvpBuVOsR6Xq4l0aTt6GF' 'sha384-/CQ06r8V3bM6nzxssmfNxrYeDD8x1B/HBmK8nW7VDuAb9Ut/1MNS8qSUKZAqtzjD' 'sha384-2HqzMIxCYT7H2ZGdomE5HL+XhzpzE5MXdxJ7TAKQFNLj0eZcWwVOQpLqdIVIAGKT' 'sha384-UuH8j4NqIojOHLZCx1jq1RiXjwdkpKIarthBFeAfuWee28QkCMTU/BtqxYMbNGl/' 'sha384-Mvd01ymKvPC8aQwRFY90dqgHB/l2S21dce6nZT91D55xB5GqcV6Q9/7OW0faJ7vv' 'sha384-JyKP+Gz4COxaICz5dZiYSNoC84OiTowOD02MxJIe3HL3buikw6223SiEWOdo3wKc' 'sha384-kDgGTmeZ4XzIzn1rIzYVAJYAFoSTy0K5XeMM6J/joGGSi6bguNhPqp1hZEg3I7FJ' 'sha384-E7qCxh34UjN1Rv/tlJxurcA2TIf1XW1RkGhdirCPjXv7h+B75jzFoSbBQ6sT5+rL' 'sha384-1gq/jyGIOMt4ZMVX4jp3ne6w7kALrHzYHUWJuOLKuF1Pja7hYB0zeExvqkfXojYw' 'sha384-TALkjL2DsIj0IHFekX5zhCsmiklcprsELiBNFBR6SvKjQqawKGe4KhZ40wIR7jTN' 'sha384-l+QN2GSCGqqeGIfJjdRoH/vZ+Ecc9nO5P8XSDWRx0RBXUarILtKuhQ3jsl3rl7Kn' 'sha384-2p7JRMd6b+7jF90aczm/FCGXXZ0+fQZL8MxnEP3r+AVDRXGAO8Jcf8odw4s419b2' 'sha384-mhE0tnQlH1l1UqGjoPd4EEY346yI2eY/Ra91FWcM11dVRXuwVCsSpT8HyaGtnDub' 'sha384-Gst5FCzoV2gP0NCVgUYhtivMAq3Uw92FmLh1rAi5Cid5X+XfnMgyfHlw83/G0Qma' 'sha384-qBhGyn7vnpugSAGxErqPaaFMSRrDRZKAHk4634IE2dBCIty34OJS6KACRM14W72+' 'sha384-qk35WgLkg1D1SbbeL3wUpdLwMGMa+GEDkKQ9lfdIE5PloWKTvOds+liBqI4S/i4E' 'sha384-lJy+WzH97fLLIJHY+UtC5Pvc48v2HvuI3igyzQ1y2rqCXlWw2YvOGuaitf6j6XqL' 'sha384-729ZFHgra6ww7my99kogJvfSYHjxzWryrCavNR9vza1q8umEZ/bPi2LMQgQa3g8+' 'sha384-6qch/n+W2dLsTwwByMT8fDUs7L9SBGZ7Vq+H0VYfg8+YqKICIO45/WkFK3nm3HHC' 'sha384-To+hy9r/92xbqEquk61nEOxQ/9WPnmuzmoMq9hOByC6C21VWd+PSEtMRD8ZJ+5Tt' 'sha384-5rtSKosgkjDhq61aA8zn6iszIZ+rKftjtRjv78ycwUYEMYl0bGxM8ZqpLfjC3/hh' 'sha384-1kmN28aFSgkKnl9MjQpyac9H89KkAPlVphD0gW6o7TPSww5ksmevXY2FJS1w2JNF' 'sha384-xOyKDQJaXsxDeYJdXzrjvNm3RqcU0Y7bncvMe8Y9Vc44lHZeL0NkBd8GCWepF2fI' 'sha384-Dr5g6lXPiXWIY4feby4QS+Mdwq4iNPGYrmv9twX6X/7TpXtq/HWHx4q8XMptgcIe' 'sha384-6NZTN4grqcn10jNKY0JiZ7PlOwf/NKQPDxOmYzw8FgOsngB25gJBoJiQhKmX90dh' 'sha384-LJjzwcpDSVwNcDmmHKtSHz69qQyq1Yemex+hgM0fzk4r6kgZXC+XkZRDqXjZ2OO7' 'sha384-kpvODT4SdOOTjs5Zj/LHjfW2a7J/sJm1h4bZxGnuwU5KD/rno3c0diyocK/8NTXZ' 'sha384-1HAv4HdnfbvH1wmvHDD5Hkb0Yd4GOQICZSnPwcmkWMdxQkrnhy7bIW+DtDHAp8bh' 'sha384-+yxHZPv5JG9hswaQotXfltWtWIh8yCJ872JKIy4IneaiDaEKnNhpNvUawNWaoEym' 'sha384-gF8xPaB6+uC1UT8SPrgZp+UlvFOTPTZjkjbRm6VHw9oGG5oE8VwT6KFyEeq2hoGS' 'sha384-w51Q7KLh6hiySiG1gXNBnqJMmpdAxThVLq20lo94VhYme3ALMZphvXG3RgWdYByj' 'sha384-8+zuGfDZQtLrfUx2jNkTn3muBe/luJdhKbF9yYBzdP/SNUyimGSMt5tOUgjWrYCD' 'sha384-KaR4R/dnFhT17rjiGljmQ6nG9UrCsTkjoGI12wzfZRFofo30zzY9oc0m70bdBWAJ' 'sha384-3DHoy8VRtkKvZzEqyF097X7AgJrgwh6LFQwGfq3ryxw4JPUXX6kuFOyX0nyK0k7g' 'sha384-nYisGhYCDC05YGO2nLxwu/x/5zdWt7XUGsGLb6112T69J1dnfsct8deV+php4/EM' 'sha384-jAJFo32tPV7SypLdHUPocaycOjV2pUu1N0Xl7ql1tU9skVPR+bRJEkciK+f1rfP6' 'sha384-9LyBtniRIAGfR+JxgI+rUXSIwniYcoQ9qEtKlC1CRadit9TKS07uOW/noRjiZ+Ti' 'sha384-i2JWji4R1ZkCzy8hKi9Uwuf7Yf9Yj+oL3muepr1iysdz/0kXZOAXrIk2tGB6Wzro' 'sha384-/LPvGtBU9pC4eox3PeLojdVkLj/f6dD9zaygCP89J6jJ1/t6Akeu9a/gifB9bENv' 'sha384-L/SlRn5PaFVt+6+DqB1UPxQVzT2gctqnL2VF+QT9szQuTXTELF9LxNLKtbGSI96O' 'sha384-VCOz0+5Nfm1vcvyLv4gvCD8YhBLqtk3qshvN2LuCSgiFcW19qplO8xyZ1wKmPQYl' 'sha384-jwO3EH3qefvYD6kDKcv+vbBqvz9iFwQrgxWgeYyMlVblOFCTh7XvN2p/l8kmb0CY' 'sha384-pj7arS35tTkCqoQ9yJcT/zvsZP5ZWhqm5GVGeh5fKSPWGCxGLgryxs7vKFFD20P/' 'sha384-hFu0rC+dXCibEwpNs2e7AV4clU0moBc+ZxQ/eX42JMsm/zE+cbI2lxLuwHZBZYxz' 'sha384-mJOjEk8yqPmlxSOPKDZQH/sSnZE1Mj3ZJ6lgSN4sCQB6rur1lN5zCIh0vRXudeU8' 'sha384-oUxz5mzVI0KOZVGlmFjUbsi0p7sK0G+Vbq204FWESVkeu/L0IiWa7ZSqbdfPmQ4F' 'sha384-AiA4Wn2R7IplnaRUcGqvvsT6Gv1wCRyukFBuUCYoDCTKhe+54WYCwMOr6a7Kv/Vf' 'sha384-9PAMUNRyOPGzh5rGpTpysCrFtFTJukfJDdirFs9hfbo63AY1cfzfy1QUPhPn/gxZ' 'sha384-3U1Eh6rB2bLAGnTI2ggBnUDFM9RxzsPymQdFk3uKfByEW0bqwWfjdHXvrpIDjVrO' 'sha384-gi5fDg3GG+aHX4bNFTGxoNxV47ZHo2mc/mPa9xAbsj/nCGUKHj+qVrtCkHCCn15j' 'sha384-r2M62hGvo7kWj2XBwVHHy3kvnnAuzfXoIepyfBPJOu6jT+nR0XO6Jx67H3KhSwBl' 'sha384-4ZL3+qXCZM+trxWh975MUuH+CD3WA3noXmRIIRJLvXCx/wlCZGrI69uWzVofUdPA' 'sha384-L9+B+ETLB0vceaToiTrHunZTxQCOKCYeuyOtHxBBagW1j+e07GVPviK6n3iHMfKB' 'sha384-NTobpPwhkAvrtwcb0a7eDbFMkhrELj1yXEBpSjD3GRIZyi6feSPNBNVLHBeCDzyi' 'sha384-tMYhxoomhPdiCT3TroggXtUfzS4WaZAx0ozFl/DcKqiTKyqHNrQFkrCS8Ceon4vF' 'sha384-1LG0hf36gwTliCLG0EFM6yLgnrA0cLUS5R1LL0e+lNvjqLrIlb12dJcISydRchs5' 'sha384-1CfFM8zSBcWaVV4CpM1/9H0uBM7igiH28JfLSquBYx1jPKwTJI9AfvbsqIn644Z7' 'sha384-VoO3sma69APHA1GjgqXSes2BbNXLc2+ytE55ZV2xxYUp42A4qyoMyVaLimY+2e5A' 'sha384-+GlIxM/V8yCxDPdESsGc+Hqm+RfaShIGgGwjVGJpIFyPRUGq0kKuwdubkd8Nf8f5' 'sha384-mFD4o9DwMyifIym4fqZgCNpFY43tgHvHcYwUGA/Pq6e25LOJxJ90KaEcOKOIzQiP' 'sha384-VIChXgNMTY5nuxtwF1PoLZ2zRTTzjbZ3dpf6V0gnpjlCIcWI5uaUCCweyQa1X0Dj' 'sha384-7Or8mTPZsyS3/slwO7TXs8qsG9Ro2dafM2bcJ/gOi5elcO5SxSxha8TKVWZhXEi3' 'sha384-/NvY7gWOc6NRouIXhN1v6Mju4cihGCyEv5nw5v0HMJn7OpEqBKzmHNhtsZe7tkfG' 'sha384-pleRoY7fsyM7VDST9jhHyVhHrYVp41xICu+UWMq9Qp+4tZsWze1XYSwk1XdcZ2qY' 'sha384-CjQccYoQLyaX/3NXrP9nuW4Y2lq7WOuAoeBxuWs51B3kcipSyCVPbgaosaKRBUkL' 'sha384-YxRJmRD5w13I5PUPWCkFbTndwMj2nt4+gj014Xlu73q5KcC6jGaoiV0B4x/1+Mp0' 'sha384-7NngDNk/UNf94hgSAKOpLCX6F0epY6LSBnIv9y1sk2Ti1EAG6Q5ebGs7EV59k4lY' 'sha384-gz0LXNeg2h7LzxXzsPVXXrpbuO2jOFLoUZHMhMvwG2gR+2DcvHiyj/UC3SHPHU1P' 'sha384-O5hEYNjtuZhPue3XArMxV5ovDYaXi4S9myg5AHjBxCQc678C1vSEf/2QNpZNIGaF' 'sha384-Ep5AqQJNUGj1gAvN9NjaHo34zQaMM2580tbLSjcEekMh4Aw4S9zglLX7rFsUWlM9' 'sha384-+WaC/CreRcb0buFH3FZrYIm+4Y7dS3mjAbuOEvQhbJyQ0cD+P35AS6YRW0gHGBw3' 'sha384-IJFs3WOvqpdv7T/QE3PZHoizNDLy1UAP004ui77zmYn0ODjNbDSqcHsEzXJ6QU1A' 'sha384-Zir1j0GKJKwYWY63NNnluMlMpVd0zW9jmlPAmWIv/BNdD1yGCqZI0SiEKH+eY6en' 'sha384-7gwqpEajJP9zgViCGoOkNMuHdg5tlJt/2Xyu9LEsk/gyreDNgmLLxayver8TV+AZ' 'sha384-vJxYl7cmvojD7zXH65gWfQOyLADi3tCXlM97xzNQPJMBGwHVKkSh01FkFFjCwKfi' 'sha384-h/dealAGWB0W7BAjrik0hHeCZ/dcGGKWzTN+NM736344PKVyb8qLO8iUQlHwTBz8' 'sha384-/1/3Z9XgRjub5Wyfpln3i+0iogpX2IQDTg898tTudi28Si2gIgxqvnhT2NdsdtcJ' 'sha384-Uh1PoZ9T2Jsp81JQSkyTi8fzQVrbwP7snnEn3N5YsbslIQQyb/DC6FgmQDlhchAe' 'sha384-9UCzwR8dfmV9op9/v4//Qf3iuJV8cLiI8euSrp0VohSUdTMUT5XYXF7kSlDB2AU4' 'sha384-AEuKEeF1nckXfrxay7OrsIlnYEm4ZD0wXb5KYG5MqjCFVj0CxvuM33I6ey8Lxg5d' 'sha384-laALCODHa9TVhY2GjH/v+OY2sGYEpqFq2ldPUO+pDv6J27UlZArNQAkPwtIrxDj1' 'sha384-Bo/edDU/+GY6Zw3QTbRxHA3QI2GJDOOIj2MHt27arEoL61lYxV5m16KYU9DMXZBx' 'sha384-AM9XxH7XSqT7OfBbogPiR3gF7X+POyjsPGc0Nb1/wpru7Bq/pa4OqM2r0LqvJ4+Z' 'sha384-Onfn+04G92zylA8VdbiIUDKa95qXkzlkdHi3HiXvNnWeOcoeTiSO5/Fqwajylu9C' 'sha384-+/SBZBpPgm8oin5JUFTzUCTqhQBb3c0iHnj1ygdp7+1sEIn09CDFx5XRhnh4VwAZ' 'sha384-H1p/Q1GocD2PPcMY6Q5ea/+sa7P0dt8+XH2/neAPMH9MKwRfx13xYT5ufKzakWne' 'sha384-vgkqGncPhUx+XQ+QEPMwtCM2yUEhDD7ZgBvdD6UBOPIYTfEK6kqm6JH6y0+tuk3/' 'sha384-tFbq2OSgM7YPbdfmycWu5QRdn0imYN+nQrpAy15iasGRQbzRZlCU13CsdniDB+16' 'sha384-v3waDbqzLZEiiiG/7/wATGfTxyQY0Oot5h98HnuL5v2Lu1Ev/V/sA1urVJV/kNk5' 'sha384-sZFC7irulFY6/rMZ+CGGGLCQO3BOtk6qmeE2Rg2uN5ibDwtXG8ORcpqHcn6l3bDA' 'sha384-ve2nPLY8RE9AfkCgmu2sw3mGh2UWFkusFB0VdhthmVIuEtRhiz9/n9znrxrDNZyL' 'sha384-1ZWa4KJhNT9c3LxTNpPgqtoqhaujAUUb0Aj2dFv36o7sPXiZ+pSSymoIOfFlidIm' 'sha384-Pkf7neqrei4s1RdT7mdILR+ECaFCRMLZRci189azNRcaFWDhpNRc5rfmHnGjsSFK' 'sha384-vq0KuxL/czVBEYAG5F6S0NoHs54E+gaf4b+TOVJIETszcsis8ruY+g7iq4vPFrwv' 'sha384-lj7NCOBQww3+F8RkTtT2NC0WHIJlHLsD57+EvnsOUGALRVfkEsCFW44S4IazLhe4' 'sha384-DvFjgvHZRTtjp8zJUbnnrlZTW5ZxblqbZruGOhQYwb3O8oaI8kAG2GJtRwDfKWBK' 'sha384-DolqQpgG8CqCHEquUFZTutNWDuK81V1g+hrGGGWtSYBDYrYJLmp5/1XuK5Eipuz+' 'sha384-Ruvpeu74npNatFPgK/iLmlgcqSS4g/9oFmNJjgUXxNmB8hx4H3I/UfdxBeKtem15' 'sha384-mdi4gIK554yIJZwI+p7+WVdRy/syfG4IltP17rjCuLUN7O6cNUPmHBAK2b+TuEWx' 'sha384-XnoPOTSlqMZiTFg+LJtue/KZRJ9/8RbPooHRgaRZ8ZaILoMfJAsWdhDXiedu6cIm' 'sha384-Y70aSB0xJrtj2dKHqhAS76CHFmGub0icFuJbkPOB1EPuhwiklFFyF0CMtq9kk3c5' 'sha384-9MxLaT0JPRZGkNwEo2GyNT04AlNt62ESriNu+9f2KMjHpTtiRCe9G/FRG6Hq85lJ' 'sha384-FBtGgA+i7SikW0/TDSFsd/js/Tzi6i5FPDMaD7OA0fMVpsrDxWVnNneIAZ7dJlS3' 'sha384-uwdBKVj+nooyFkMvTTk/aM9N9LEiWCgAj6/hT907wd7gNuH6cF+aYWReHZA6kqOj' 'sha384-tTp8KllnoCYZhS8xWyBX3J6srrMu5sUQPrXCQCAFBwztPMapnxJGT6uMXpxTgTd4' 'sha384-A+JVVozd/+5sjPSkU2emY7E2HZNdIPkt4SqD64ZLCNF/EWD6RI0n5LAsfi5fjKz1' 'sha384-ZlHI9iUtQX3qyrvY4m17PeSX8qgzNBm5Kw0oPX5D9F3Hc0Ot+9ogiWKmOu2UpBmb' 'sha384-fqHJVW06CoiNXDUFmhbtL3XgGQalK35Hff4T8UYBj/s1T5HwMpo9vcxrpeMUqWe1' 'sha384-67mzCDWXG20E4PhqBtiKUxjYmNyQV5bQy2WhWKrAXrki0BIvC4Jf44B0//KayTun' 'sha384-ici1U/r1TUYq1VBnl8zsW9SHyVbxYi4FhF//7T7xcpC676q+GHw6CsI9yZ9yHIZP' 'sha384-xv+7kNT7sudvpMOnkFytOYGr3GPUrpepcEE9CxkWMdi9B5n/xeaIUgcmGKkrbwZp' 'sha384-Sg51YT1RNdgRGX5vUjrv5s87xPmA4mhVBoGRkggVh+iteLJgbSIUH2mfcJBnmB2U' 'sha384-DkaM9zIe0oBmjnqx3HrvGwPexx5N+FXVKRP8wT1By5l1+HmLw8WfrcXYGaQONV+J' 'sha384-hjlmQ1Zdk7IJbDU7F+FjkT7a78FihaZIYGb2qqmAA7lvOCCCXEKswTjPijDA+yN1' 'sha384-KNvai+wV0XqU8+14GWv/Rq6UbHmqu5Ty/VMuhuux3Jm+PIPKkRwzJwynqzjgd2Fk' 'sha384-N6jKCfsPgAMoVczYHVcQbMGx+nxTZvXbRQOvslAQYLrIXZef3hJ6RbQlNLLsFX2E' 'sha384-ZNGXjbZy5G2W4gAnddDwSwtpOn+LHtahgM3LSSfmJUgpNOFOmc2+Ryg7h/W6mX8x' 'sha384-C/VxIoYxEn0t7CZCv0eM8XW53LjbTMG2e6zsglEVI6y2fGeSOUxd0MPVeSALJO0F' 'sha384-qaLT4MkXb8j0gJBlDQldRztdpEHg8M8F9V+TmVU4rrzj1ZeZgKTsMaQjMQwdUs/5' 'sha384-aeuDrM6mZn3Z1N+LrwgrjdSmokUi9eEusLt6EZ8+GxvV9dr4FhI9nH/xKSuIXwEz' 'sha384-DyTNeSMNSv7eTovYIAgkw/uPyXfxgjViU+csnF5Xx46b0Q4VIsG8vJM97HvRZQww' 'sha384-JT0qzTzek3pV4ZpX/QigaWZgYRFzLsYXSZ2qJqZtzAax2nyA/8JtYBRBOTZ9Wl1g' 'sha384-r/nsON0Bw63MeJQNwbXVq+uxTDlGHsfMvq3tSxd/be3K1IXN2yhVDYtlH/+QBZ3E' 'sha384-gb42pOxDho3bckMxdwGYzuPr4QlZ/i2LjZQkUdzXF6FUWNXWCXJsGG15oC1s/9X8' 'sha384-tllCCB6Wo5ZM0SuvYu+AoW/I7DECtOlQ8Wf7BK13lmWgNYN22kHaQer2c0Ef/AKs' 'sha384-ONtwHGa3kwhucysYZ0m/krJiaZd2lCh7vlHyfK2Vu5m62D5WbqDUnpLHSfv21VXa' 'sha384-RM7+4Y2q6DMlNnWpXyMMQ3Fmp+B2wCyS1nL8XVZl31hdCL6GQpId2d7yGsuAwc/H' 'sha384-HgiE0txHyoFVxfWc0T1PxmxAWRNE+HUIqkuiMRZF7WVCC9VN+eEYSz+XM8iW1Zf4' 'sha384-GQuh+1d0/cf4M7Qhw53L8Fn/OC1l9VV4fhxPP6yK/EnZh12BtPBul1ItdptM2zai' 'sha384-e/KH9rb2th/+BMM+WJs5vrhZ+syCLj1Bn6e8TLiTzYUYUHPdaeHP3HQJeBrViG4b' 'sha384-SsvVo6OPcfdD19VX3gv/1jaHixDBeMtWuF1hPUheUu/maZTKd/94eqKAwYX5KN6r' 'sha384-H9Yg2Yg3ZRzEgPjG5NlFXCk5VsjwAx0jECGsNDuTUGzDigPdLSbsnnuRADcD3AcP' 'sha384-cjhhZs0C67m6Y/RuFFCFDQojwLDb15N9cUWBBr6lmNTSl9w12tl06gwRvcGE6Y3T' 'sha384-/J+Y8qKZAdMVjwmz3JQbNE+EHv7HdGCoOXAjdUZ41q/iHyMTtITEY8tVbEnEltyR' 'sha384-gZzkSc78TwxPSGWHKuqC4JUEO08ESevcqS7xOiXNHtgRAQDZ8S99Iy/nZtwbg4of' 'sha384-Nag82fySqvFKN9New2QkZeEldikFiJ6TL/n2ymdDE5iRSQXXMG4iXE0aziLUzEz6' 'sha384-+D+/HgHKv0MKdMHclPAU5xkK878EJgNLJDwE74KX6dPi8yLD/2xFRHdRGexIgygj' 'sha384-9z7uWuuqIn1eNizB0+e9jA21obWXza142qWpN63j69LW+p5F3X0/KWXqYujI0lNK' 'sha384-5IBKj7hOq+DTooXr98IUSyRn/TahxHCtrJj2pLCYbi651mbnPE4nH0ojac4hW8iv' 'sha384-R6F2eqsaIYPf+jNHqCPgaeMX/C2vxXGeGc1+3wrRFyRHRCizsf5P6GSfBegNCXDq' 'sha384-gsxYzOHcXHxvZ7F4aYJFPw5QVDatkKwDNtkBcRtDKD4Gzl3uKpdP2rqA4A/W9NMB' 'sha384-Shd88QjotomM51a7EKpysZLq4cU13ZVjdYMkcGXnaQmRrMD1y9X8AhxLcSBqtSuN' 'sha384-fwoxRoOWBuyQry5rlrlVDm1aiOl0aVgKrPXRgb84Foo10SrcgTWdz39RI9RPtfcx' 'sha384-5XQicycIem+R3C6+bJ753e78VedOdR7OCDxrCjDH0LVLxe1b6PAMBsWYQjhkOX8N' 'sha384-a99oGr0NPMvOXAkroctd1q5QeTWjxJfkOv3aQL8KDycb2EMdmHpI+GQsCbBeBqwd' 'sha384-gDl1egAHC0do64U1l6NGMuJEqNmQA+vCRuVvgqfI1657PJv5ps5hxk5zopmHU89n' 'sha384-Z/VKCeQjHYx/sizQKPLNWaUqgsHbTD9WyFQ2rG2UR/+ZAjA5cNm2OLHwDb+fk/hP' 'sha384-7crRuZ6kl4FnofslZse2FSA8lDRu5eibmR621t5ve2cQmBpKz/XQnb7KACn3YBxY' 'sha384-nl5Zdd+Aou2VVqG026bDA21pyNJVm46/TZ6Dw7PTekdlgsbdE2IRk0SKV1VVA0X8' 'sha384-L9v41kQmbWeXDxAvm+RlJ4ArW9D7dkZS8MbnmSj/26nzgIccPuJlKa6n6RT2UaKh' 'sha384-bPY1eSIMhW/q7gaBhvCvc+FhHYPDYwDsas9ykmUKmKlCbqBSPDeHsBs1sJHK9z33' 'sha384-9L5SZYNrxP1uqX5f4t6YEWwvm19GM9OWseelu2bytlzqQjcGdWDGvbPFhbXP8CdJ' 'sha384-x4EWGBTRjTkkCsgPLVa6z13uUIhDZynKaxZPu3q40Ys11gmx101wNeM36fbWmqAS' 'sha384-PjpBOyJpInsNMonx2oxjVIIKLz1ggX7AC223taJ3ypp6TZVT7/WhAUC98F/6+Ev+' 'sha384-QexcqZq/2+97GHMZmGkTFrt10s9ly/8bhd4RCpZBQmkdtw3geoT3fgiJja9vNmeK' 'sha384-aCt18a0TdA9HKl6ISsUiY+JOd8SYeahBrXDFAn8peH4DyLeK3F/973UazqIlS3vy' 'sha384-8amiBPXPcdtW+A/wJGzSvXK0wsRwf3uYRyJiW2K81DrlFNIT1i5u/GDvzT/kiAA/' 'sha384-AgvGckDPrLFFNLnBk3QRMTrwbWqolO3y6yYVEECvmVrWLRFVAolIcZIh4YlBa7Yy' 'sha384-436hnUAdBdASvRRoklM09qy2EwzU15EId9pxtDHRRGt26jdoPDvQS0nc6rOLp260' 'sha384-sl+j91D1M4qsYL40/gQURqyiMwqSm4I5e4QV3sz5cK98P8LDbSUqfa6C1jzIAJ9j' 'sha384-CF9Nq1+lQmSFKExsyM5IJSdJaUXRtO6PcElAxqJV1BId9JTUaJtn+jiMDw3jFD6e' 'sha384-6N8/X4jgjOkHf/0sH39hCxrLtYTjFHHyBnX/XVpuqHc2DohvcpbVFxEMzbgwu6sZ' 'sha384-LRJC0rPNwJBypIqmVjWE86231hAhuz3ce3yO9PBdQVMOUqv8ALTxskwHyhXsFJSf' 'sha384-r9ViSB+TBkVciCtoTayIlKmLck2jKt+/ZsIA8VugTvgdoMcKBBP5rHWqUDpsMijt' 'sha384-FCtRU4DczZwEXkn7tpXAo9ipWl15bfwSwJc5g3AT9EoZJHDCx/keAe0IzswWyI6R' 'sha384-/mMtnDH5/hNkY8YHRNCLlWRs0C7z5W6R4d2EcX52vAryez1rU/fAUpruXlPUCFDo' 'sha384-XqeBUjHOch+uJ2L/t20YsOTiqCchsVHn02vai5M9WVs8b9IxIXkCBDFvlqJayc3o' 'sha384-QskwXyaLIvasohmE9s5Zdu6VpNlyJIn36YAeKo3bFXaCofpB54QnHyh3dI9LTwU3' 'sha384-CyzVXDASKKM+i5BSGrbM0uso6S9bKj5LKZN7KC5zWNQBSw65KeT939h8pcl2rw3X' 'sha384-PHvhw9BYGLyJpal29HHpYrLtVidGFOlpu3+gYoUJbc3g+3IKqQiLA1RZEKuxYLmy' 'sha384-OVI+gfx/pfN5+OWTUMzAN8+QS5JNkHKrf+en3ik0nNskZLhPWRgw6DDHG3fnH8Yb' 'sha384-I5YS33pnpRtXmzFy7F8VRBc0Kg6MRI6hTbEE6nO3jG5WGfcS9v+NhbxUs7QoZnFQ' 'sha384-qeS3tZNT/5XjwNcb3q6yeBOs6Vmy6Rqhox5P/Xc1/DU+f3mZhfkXj8713j3mnDYi' 'sha384-YhGOh50l1I6IWkAJTD7Z6my2N2QCDRHSM9+44U9GMhQgjNR7pOwpHIWhbB2X0TkT' 'sha384-O4BwAH5uPoXvk6xs2m251R9hOlGAnlGkvnmnDslrlaXYpiXmEt0jKVRT8Qcyhr8U' 'sha384-F47R0LgrtF2uVvSr6GwNpk0nNUKUm/hgu0TjabCjqJ1ZHnjr24arV2IYKCWPJ599' 'sha384-oEKZadrZFrnnC71h3VDjmH9FYISMQy2HkvkQUzdTIOHlN0UryeJYK+sQaPYyWDQE' 'sha384-hKBrbScIPwlPy9msYfI7iELY5hpGHafB7r6s80TvADFrIqBkIxxcdLGTNXhEsT5Q' 'sha384-XTYeYgiYzKCX6zvn+/KCV+8ssepNB5nxzunrElhtcLCf+PXEADreqfuX9PEpGkBD' 'sha384-rvlJyu1B7MLg8bIdSgbSa8KTxoZ5t6AC/UFZFcl1Lq6qI5zj6uGK8XfIiMmwc6mS' 'sha384-nYKrYfarV0kjUpzfWgdNJlmdPxHQEII1iVwStaWyz+WPEhqLuamf5V9cW+tG3tWh' 'sha384-E+pO+NcgqFLGGvmYyjFsh16ovE00JJpoOKATiA8ui2EKXA4v49ILzVX2dwsAJYmP' 'sha384-ajdLU4sn86P91IhRm28oFbdEsLxzjCQeYwQ6FcTQzcO+DTxGWD4m12TflkttYKt+' 'sha384-BYRV9bj1pEO7nLLTQfQn7rfw4vMAUyUW87Og1K5nqskH/xBz4dHWIgAGDx3KRDlA' 'sha384-oAP1265A7BAA8ckwkyQFGMy8x49y8gxPUK9+/heogZMgEG7Y9mfQn2VNYEHKUTkC' 'sha384-uZTjdNwLCm+qIsE0fVopA4Uwp9bdD9FXw+pWi9bw4ppHOZPhhJXelm4dh6UjT1NT' 'sha384-qH8LFXRVahvgRIMMARu2RERTHVU5xKAabt2Akv4hG0D54NjyjvIXndrp0ro76lxN' 'sha384-e0wv2+BX/cGVQEQupXS7vi6VkpL0yTenz6iLYnl6HobW84a7SwwShN7f+hePW4AO' 'sha384-evnuniFW4m/TSvfKIN/1V5+4HmSjTh4mqmmQOCBg5aQka9cHLjqqtuYVoDoqn90A' 'sha384-rEnj2safC2kkUb5a6aAQDnc5pqGFgC1vZ0mKXt5t75noc1QP2HXstT2qm0TPU2RP' 'sha384-GOsz/Ogl6lIZLzY9l4v8WPBU5fwcWcZDHX3iNOMTmEficTdwSOanxcLITCf8vibA' 'sha384-IK6fZ75KN7WQT0aEXF/5w69nkPHnef+ZEz/erTDjgIHXT/rze+xt1I0cYFfCu2dh' 'sha384-RWFJZO6xPpOP2SvSd9MVfJN+OiVonVPVAO+9U53O463OYNXnyu4oP9abEyWk9+S1' 'sha384-VepwYIZnd/hlO+TESMmWDgDezamIcdU5J1yxt6BpsNVk0uHuuMFjnPIiJvGTz9c4' 'sha384-eLI5PuS5QRc5FQAkJ8kI45xizIZnkBx83BazVgMBGcQHPWY447q0hP00vWoppgJP' 'sha384-uZRCWKv0wRfgAxc7ShJSIYO6S6Zo9yWQXy3waMp5UaEQPQqAQqq5af/8SbT57lRq' 'sha384-JQzhbAxmtxpru7y0dspQDjWqizUUR7BvydYlUuKVT2cwkcQ8dPayGKdbC1EZc2kL' 'sha384-uyzbt4v3hmGTeT3Su38hW3FnoST0lIg/OiGd4Y37tYdtsUYxB9ls0TL3jKFgmRHh' 'sha384-sSYvaKmBikPUGvigun/pjT/e+VabU0RSemYKRJrb6a64T6VNp2y7RFHGvJbiO4sk' 'sha384-jEzb4d4jhCj/yg3EZpIjC58/KjH+a9nuUOKjAFfCkhohD8A41GzHsibup4lfCgsr' 'sha384-Akdma/dkNUU1cU0ki/MBQPfkmVaIVXiQO9i/1ZnGk8AAa55mHXJxrjj6gKszM4p5' 'sha384-1p4h5PTDPFeHY2kmcBafU/m//GbttB2JpUKwom6MqIDMH7JW8I2fFCpWiPMvnGX/' 'sha384-uPsdpsolLEg6CQaKcm3mBDY0HnqFZ8EFgiWBZB9X7LYXrHOJtAeQiS7hPjJnyg5x' 'sha384-BiO6+yApUXtoS8u8sQNxDFqM5z6RuBvLejrZY8m56nFuz+xYShHbtD3FPD6k5tki' 'sha384-J2y/4KcxcnFB/YtTCAxBerWVV4kFC8ccdL5zDXCnKLHv6YiMa1VLhNmEkZE9fGIM' 'sha384-bng2eORk5BlBerQlOr4dnvCc0COwiDoDqQNCJYEvbcjGov9U/VsV2XTkIH6G9Hdj' 'sha384-3Lz1TwXzyOPCBcDizg3hRA0CN7apkF1jKdg05GuXFq9jXn6IB4MEBltqCxXy8WTM' 'sha384-waokCi/7WclvfGYp2+2sDUfKtdI6bqtSdt6nFQrPUUmCzLm4At1F2RQdx9lDroXD' 'sha384-nn6leunJfJlCfpte1PsN5J3z2btTynUujNd4DabvB9xRc3R4QYaeh+uf6ahgNPbx' 'sha384-yL6QUGTWvnAHza83mKHczB0NlZZeBWMa9gmPVD+g3sKwRASiWBU8DnDwmR2oamDG' 'sha384-KnPasE6HR683Eguk7yPkU+eqf2k+CW5+K6/2dYg008GWY0nVkXlUzN+MfQwarKZJ' 'sha384-dK7cr/35bieYcXmIOWprxpx4802La8TN2EolFCwq6LW32VqM529D6JPQBd++psYd' 'sha384-17IseJkGxy11K1FDd7WxuveDzak6khS4OK1fj0iKL2L8yNuIl9E5pcNOItQq/6fR' 'sha384-3PIIDPizi64P0ZvzXttdtr0NL9TjW6dx/R3dlqE9qQehybui/wFk681dAd4Pvf67' 'sha384-ZlPvsKAwVjluGZnlzmOz9ec1l4ogoJ9jh9HCshzN6m+eUpt2extfzp3+QsQpiSBc' 'sha384-2RJ1OkjBohFGbz6xfwZSQ1CH8fALqQhQW2TwHMc0jkosei+uGnIrxzvAekOlo2Q/' 'sha384-2/n4urOKNU+pId17pkZuzk20+Kt1jslV4KWFWa052K2S9WwSly01s9gRSmnxn6bK' 'sha384-NFQbWlkrX2xQGHUbaxXWPm9hmtR6opE4onFo64syVsgG1WZ14587+rOE0D7Q84Sn' 'sha384-vVORnIGk4nKhLAyC39qSWWAk6LKzWI0b/vWHZFEeRAQspYZucFtdKLPBYDJOMfIN' 'sha384-ToEpEoUQufhK3L6CSciwl+8PKveU8u+rxLiE90u/sjXi28kL+Labueq8B9PPD2DD' 'sha384-KuVxisf9YWyBri5FynlS+4isQk8pctmE/5UWVWZ7MivlNWk42kvVH3OuwSPnkBdW' 'sha384-OLjOt3vZz5PtcyLOKJorgZdKzq/JfgMheRT1IIXOM5o8d27UqEElJ6py8USer923' 'sha384-VPZG4GGDbDP1++H+T2wRwqebCxyVE8ASSu0YwWCj+ZwjXHCE0/kG+2lY/BdokaKx' 'sha384-CbP71HtoD0+Cg3e+YeWdblxFahi9Ts66Bxa8XFiQBUmtR0DBCDGeHetBxVSNWO3g' 'sha384-oI8LgQ6cedjog3kngIZ3LGRgoRmP85o5KlGVZUMeReiaKzPn0Ra92imWdYV2NlJO' 'sha384-tj3FGxpV+/ghWcJvF/5eyVzfzwGJsRkrZ9WevL5KmO1AsQQOjYPFVLcaxE8pxX1E' 'sha384-eg1LGXxKUyjdKMl4MsiW752Vo8maNl/QN0KSny+5LWEYo4IJEzWzNvottqFR4WeS' 'sha384-WE/KWaIyiP7UgBh/WfFzecqjlitZy6KZO9wPy9MrWDR9FjmGY4MzW2UGpVQXn28N' 'sha384-UAahG8cpKeyRAwv+ENEmDQS+DXSelAyM8ihBCRZeAOCOaTkalNRsDlbOquZDa/cU' 'sha384-QS7CnnaBzVM2Ashq3p9aIvyylDmafvt3lmHD1I9vit/GgvpnIaWdtc4Qixve9UOk' 'sha384-8YH3/TdvWAqm4chbXgDkJocTDDopX7mc5vx6BL/zVUA+OiVjo1KLJpc4QUymR/LG' 'sha384-LSEHgH3GvFem3X5RChhXlGKIUYnMEOxkPTi19X+kuRToGUd85LoRuPNx9g2o/A5Q' 'sha384-wCQdmCrDfzU+CcNM1Oj6MHBLPO6SArEbYieVxw8pubfn8bS/owZL8zS3269rLQRs' 'sha384-JRzC4tyrnWA2oj8KF5ZU0vaBYjT4MNNe9dOtapyeu8JVXfDgROcnKvs2UDy2UTHV' 'sha384-zA1b+rtqV/JegPTLPrNWrhc7JP8pWBHJwX7CnU7XtaPDuBd4dvJ7CskhEDqyhFml' 'sha384-rf1rodjJF0CKxvSL/n7uz2YETDsMwCUFBXpPFEZmQLV+FwPAEPHkKx9Dz+5BSEXm' 'sha384-JKDdm50WDjyTz7/lLlRGm300amxzzguzGImvmmynLOgqnOkc8LuN01aMIXYht5Z8' 'sha384-FKDQDkbK8gDOGJimkGObr4FTmBbLC9Wvs/JXygDyA2MTjG91BuHlYCpvCpWiQL/U' 'sha384-U54eaOj0zq3BR8eD/4SYPXjAGHqxAWJsp9J3IuzhF6ca8aAAZRcSKYN1bddbjIi0' 'sha384-GSAkMzGFAhymwvWj1MeqNFv4KM+GkkyYbh9vnzy2fOvwiNfbELGhE1Hh3uBFfB5w' 'sha384-MHGZmgHReHn8SIUNUOsyqpY1WWOdvPnZsy18/UFHG8OWV6aGzUz/WCbp6yKwA2uk' 'sha384-Nc39C1S6a/6seiLPNbDsqXPpY4tQhxTHxVHNkU8ukOTQo87OB4O9ChfnpW54m45O' 'sha384-Y6tq3v4yhaABAmRktx6UsRMOpfaS0moiXLquWSj7LOMNufqdbU4VpzHFXPnPEvAr' 'sha384-VTvHzGe6sbL71/fzJYX7plhGyeT6Y0ACmMuynd7nGNcWJiL7qEhaH7Be+nJenYPR' 'sha384-EV6+xBpnQWsw54sM0TwmKR2YY8M8w7E35x3Eio2uItWDmtFnSDwexNHzT1d2tk0Q' 'sha384-0rBulxdrZ9ZxUtrX1vvpOCF7DXuHuBFG1POrrxBebdGY0Ukt3GdjJr3HO7yjVlim' 'sha384-4zNdVkgprfomcnmiRfRG2LkDdrKnDJbqVgqzqhQFnP6SFGM0yJWvx9QH4Q+zTb8I' 'sha384-KIgx4ExYLyBRmG8ytsmzxhlZfVrzl+jK9Q0rOoEim+BZvwyPNsUMLc/fK13Od8fs' 'sha384-imRdfeiXxjHwxw5MKqSlpl2m33NSAF9dBlUmuFQD7Hcbl3/G8d2WdSJ9Campt4ex' 'sha384-HehJ4zF9Gg+NnpquI6vUic93mzv/U52AXMou/7JG0rsqyavDQ6eQP6QS1iLq35yj' 'sha384-RhuV5FgcXTR+jXTIXW+FUPDxjFc0PxHvwzumZcPdPquKK5zZPWVhbb28WRRMWPfm' 'sha384-68izHCXo3/FwNRZyIfzIzdcUA6rh7qqDpcDFoz9TE6k7gQD3j39/MGpUdvGHeVZT' 'sha384-hYyEJ48jd3yRDLArkSEEzbB3POPxlw1PkVFE9GF5dgSW343NdUyZD/i3OacIBWhY' 'sha384-MpjmrkBo847ev2wSqtfZc4Z2ImT8wPm7wwZBaef9Yoe/UtdfmtGKuzD4KarVsJR0' 'sha384-FijN4zJTUI7VsKLDIHPcQD1zTs0XQBBjSRBsVXdAKTcdU50VZLEtNFxf5gSDnKfd' 'sha384-xzQKoSTKtAk6qRsJKKNfQpyEwv/pETqEbZthe1OPF57H6cT3gOkv9ANED9hiVm7m' 'sha384-KHoQ5w+RcS4Abh5QkF2ojJgw3HMA7VTbOX3ocjDZsmfbE++UY3FBw6aJ/JyX/yFo' 'sha384-blDHtrkgViP25mB2RNd1YeAlXybhhvFpW2ZSgabFCVLTWAmUqkocM5z0IOCeqnH3' 'sha384-qy3519/sim9hBAm3bkDqHo8hOF6erEuYoxPv202fzYB2RwpFuRvlX/2ulLzwS/dw' 'sha384-LUOkPvmAwnzPOCdUyNW5NDINDRdCXVZTpFvNZaNH+gRgYZbRHoejxrgLq996iVq7' 'sha384-hckJOarE1yfykW5ir0BJdq9p6g/KStky4N0/JeUivtcy4eFignxyoqssw0FIy2/f' 'sha384-kf4Hm/9odY9ctxM+LQFcgYu6ritu43cGxZZfDpH3UuvqvYwGX2F2Sqy9K20mwgdh' 'sha384-eYRTtWWQUFWjfumP0X9qh4dn6JMcqX2C4dZksLRrE/5EMWBrmj8Llv2ENbRAXHI+' 'sha384-J25+aSISYRITNKhyDBx1hSZQ5EFfVU3bs8bp+SDJZdbTdX/RUiYqDwQKCvt3QRvL' 'sha384-XfM2+N1n5axfUBe11/u92gdJyeQ6dIZ6SLyXFiyGIoUI9IzhOL3z70pmGnwWN9/k' 'sha384-dttxmbuaDGAtAGbn3UlcVOnJuYvp156KsS4/tw+38iYsxY/ViXxudP8gigyPR2nF' 'sha384-lI4Xg7nLOTIEQ/brFShWnPAibgglWIxLWvfqHR2RJjaF1lx6sXb01sYfwCLztFRo' 'sha384-xN9A2LGs8YCYAH/we44/omr3X+7ycuf46+0PYAiNly135RcZbybWzvqlMIkHE2OD' 'sha384-85kAvOqCyLC4bMp39vsymxVa89IHgTRy+HuhCTYKcdCQ8fidTA7inCwtY9oP4QwC' 'sha384-0pilQY1lb590EGs7Edxjm8wjRlX5jSht6rNUZ/uv4GXJEHFs8XZdYhv8MdUCGw/Y' 'sha384-i+whgoufbmpwYc8tKS9qL7A+xo6NtUJGikfrJu/1mjEUfQt0YtfM/Xl/dgICMPOO' 'sha384-GsDYABhaVe2uUPxOvxuBFCcOnEOF9Xrr2b3u6WQvgCjTv74gyqKJ87E4BTYcLqjd' 'sha384-bqHDjr4QAAz4XjoOVynGLah79KO4vqkY58AQRd7PwQ/KYNglyaKDG+3PH7tVQ9aK' 'sha384-baVZP00DBRc6vgiEACNdaw6+ndh6PFnc8zeSBZcaIb8IHnkcx9kQkv5T+WQ7epg7' 'sha384-CMh2nfjDP8+RGVaS3hVT3BxbL917ng+RkORdUOcPyuVR+pO+mdD8/d0M9mRliKlJ' 'sha384-m988uy45fcjhIyVlOPwTFviD8MkSF+vUYvOe79es7q0EB+bWieJe+7o08q2SuxEW' 'sha384-SZL7gHae2c1Izu2EKPqLPLYV1dRK0D/794TeQz6dveSwjwTdE18NVwTjtogkqgY+' 'sha384-WItmin4P+6UiZdxRfB1/SUYsG3v8+oFfLekKOuYMIrTduaWv5e6poT+717+s92hr' 'sha384-BDNqG2O0EuCRB3eOSEwtXri3iaK/Gn16esTszGAMYwGWOPdcWBs4WxN4chLJx7qA' 'sha384-zYbhAuszZ6vgiHelr1gZJAwDuNSWRVDAA0YCzmBFUgoyiUHtb3L36esxwF1Wl52U' 'sha384-ApKTKxdZy9V3q7/H+zPIuKMbVDBhRpEBO70WnFhAUXK3bifhETrEzTxhuMPmbBCh' 'sha384-CwmchyHiz18fJawTxUOq7PwlhLOyAXQwDkTrjFZH8THQo489t161jyX60LypLLSw' 'sha384-+WtOXIj2YYprBYxQO1ee8K7KkFFPsnH4+bIILiEtai7AmcH/KxxkCVDG87SHlbXw' 'sha384-smB3cHg/tCBpCs5yOtMpt8agyMrf7YrjdUe5TeNBYlwp+ZFK55nCblcqx2YrXGdg' 'sha384-vAsK8O/6k9NwWj8ag6hQR71/9a3guFRPulS9K+2aqnuxc4GQTXLWya6ruGOtR/3w' 'sha384-Irl9Z+7jFZ9BUPjsOteldZIt47qg3EnbWXVjQZFcX/xU/cu1mqRsH3YYif9X24uE' 'sha384-tGb3FMAwARjxNwXfEHge8T5ZJCqOOc+OHqRfB+VbpQXNRPJht3nLIgOcNKcA92EY' 'sha384-1R0L2hx79CNXTGlE3lWZP5cV32O8H2pthDG8dmbll+/yS8vexTzDo5POdReh3RO5' 'sha384-gHLfBh6TXs6luqRfv5GZ/1+3YDnkIlcv/6clEtYDqw9h0iSf1s3iuTjfL5m2u26J' 'sha384-V2wk/RdGziomK8k7kvMW0JaWD7l6C9mQSOa3c1SKxFAzWdbZkDjWZSWCjBWQq0XS' 'sha384-12cDwm+ROyolgYgYUsgkanLlVkZfBNVEXWrYsGUhgN6Y5aG76geTUGYymw7cUBGz' 'sha384-FMKqSufwrqEwC4kU/JQX9kueMc5q2wsgOYXegayfv85h0Ov4WUqaI879Mpnhk5UT' 'sha384-Vb/fBqxyh0NuXNo7REAkW1aYXUFLLQJunIRws4yEwTgwmn5qgO/h1YgaAbxj7yoB' 'sha384-yVT2jsUB72ShGtG1z7byGjvXWkpSyVHELEF2Dehwy/Bjekd7iXOaBB5j3p5mdvl+' 'sha384-1dHBlmmwXTEcBTtdqKDUgtEWlCDskqu3bQDZnYjEyGxJtT0ogTUD919NlCDbs5Dv' 'sha384-WqW+yKSKsQ3R75svUJZnEKSHSHa9VAO8fOyocZsuJPnlqm/nl29E3vA9kPcynHjo' 'sha384-Ufnq3pPp2J7eH36Ki8uKX321VjGAmOwY7YAmOru06TuqG37x0g3e2Rj/QIV9JczN' 'sha384-qIRBQLnXZN3dGJ2bAp7YtuaL01oUi6JjAoL6cIGRifMFOjRYfxtjaPDdd3hYsC3Y' 'sha384-1SolE3GbCKotlt9yU4tbj44D6Yq5GJ/rxf72K64mza+lHXz5q6sYkGJsrDQwWVZg' 'sha384-BtFycPfCBqJ/TgulQ2YIVbgJ91GmjwYcdSD0PSNbLmGzLGt7GmKMYHg6X+JXUL4K' 'sha384-iu0zLJPTSUTZDnY8vaXVRv+XKMbJHa/iROUDrLOt5WDWmUgH7v2xd/S141hzo1jS' 'sha384-YSmU4wNZ1SWqo/rn8RIxKlafz9Ngl5PT3JEMyWfVPzQrRig3kQ7vKuuqeQZGtvQ1' 'sha384-BpoTkdVv/48fLbkm3FwxjHLt8HWWhy8KpK6a/blpyEoFIWXuBFYRVmbFJAGcMktW' 'sha384-l0w/6td+0K1NcgD9r0kKJtXacIMzGcKGrlO1LetQn74kto1XQQ7sn2tHADk5nYjQ' 'sha384-Ll9EVwPMskZ2b1v+MzDIIiPybY+OvfYzxaeLHqGcYHyu2oLP706kyMmOvkXBZbdo' 'sha384-sNqJi+ERjYRx6/dg0vdiX8penZ+xnFYxy77bDFmsd0OCehyaF4faHD4RNz8IOptC' 'sha384-NiOk7hKa/euBFb6zByqLCkM8rHeIQ6dbABdmoLSpX6cPeI+eiaBBvoohm+5V2p4G' 'sha384-NUyxJQgywvRDa8pqHsSoJY4yBBmO7CwoLloKljh2hsYfa9/sADPV13eucGjayfnG' 'sha384-4CYjRlnyW6p7LsDjoFUUYJBR7nKCp1CHzYk92sbcjjVJbUnyO3qIU0PFUxGr4hgm' 'sha384-AtREkT2M02L0b9NRUWxJO8mppWBdoLFkfnhVmxowLFhZ93vuUHsVQ1CkpOJUUp8P' 'sha384-vN9SD1FYWg3fA7k+DAWUBFOdSz5jelhD6Fbp38AQY+8qSo1K5k7RnJz/4oeU13mi' 'sha384-dvUv2G/tuVeoY/6YRsZBPZY/LamSOT+eZP5ycIKZSskV6EmkuCB3ixrSPsYyda2C' 'sha384-yF35ewiCVGhUANcmP9wBvVz01dryN6RRnJB/23kJySqDzCZyeyK6iUBBmUpOysSf' 'sha384-zFULgkDBVISKlH+Ow+v6hBPx4QW0xrg6wf6qZRFUR+FZ0MJC5PoS2WfY0Jc9BeFF' 'sha384-tnszTGunj2/iVC7ufHKdSli1LfBphSqSFBYyRbYrQPbo1oocY6mCc/gb/fkHQPnZ' 'sha384-myUiTlsZ+LqgxeFw2pSHR7j8ZIP/2pSjxzgiqkohSSw48YhlWl62OUQ85UKqSTn+' 'sha384-Zzwo2ao/5ADz5xCbnpFiZTQhpx+1ug10RkDxN+gWuDvNVZ17KkCroZw3vYfufhFl' 'sha384-LI26nUoZ1nh2k9SHBh9v7aekC7IYODI07zcAFb6uHHVOC5la8Vwl7lDx81SAYTyt' 'sha384-2MSd1hggvN6tjOwmuOMl8i7nC/82QZztjQMq0S3VEXib0bS2NTBTG8nvpEZTHqiS' 'sha384-ggsngjKV2M/REOKzggccHMiQXumQSLVxVuGJRr+SlGHXmZJqHWKmt7KzHdcXt2EG' 'sha384-buX1xipzWIJUmCP7tgW76d9eceT1Fvlc/BkvpZFAPAOB+iR0PaN+Y1GjSpT7p8o/' 'sha384-ZWQ37U+oRXbINFHHtIbe9G0k9U22pzKOWJq/lYHIOWw/Rye6f0LuAH8zrXIXp57d' 'sha384-MNieQvo1yySB6X5/NLZOwgVXjkhIbURSEGHjwKOX6ZqcBeoQkNE2ZiFOu5N6Qrnl' 'sha384-CF5HZkKO2R2/AMfjyBVCHAjO4Xq826WqHDQIBQNzwhu3hnV8R1F35ClbM0eDqIpV' 'sha384-CJ0ddme54q5M5iLOs4xv/6f4k7lVysXjHbPu8AK2X+ZAi4fhAoGYzNJpDzUANW3U' 'sha384-A2W1vZITMbwnAYzB6+pbnWjyZXuO0ViAd0Wlnc5NvcF4kV0eB5XN9K+2HWTY3vsi' 'sha384-OK0RiWuEuTijYNatX72LjCCXlHL44K8tiBSoKJPtf1xOTuCesw8jkmTfyTp+qqZF' 'sha384-QwdxEXSCWTdinnBW3KnYT/69PQ6pLQGFXhnFCAdcpofZjtKc7pEy3pUgdkhHa922' 'sha384-DOLVVxqj31yYzFgwlraw3ZnTWbq7ArDpLFuXV5UBhlhMujfBAkqPNQo3QQpVziCG' 'sha384-ncRTfkw+2/FYZMDstvzgheBmqPF6SgWrZhx5YYbR+BFC5JgUIep0movifvoDiokQ' 'sha384-FQGYgJLqwFY2kY8/6dLZAHeLeeFuXyPdKE8uAPrpvJDvyT1EFWRLj0RR8eygXbI8' 'sha384-nfI6OqCpP0x53yeoPnPzgWaPREekkLFaidTXvQlw1Wb+ZYB7iWMsB94RD0quPCfK' 'sha384-V2lt4xWFYVT2CzIlcEp59ZADEBJsKqhwWghRi4hucHahOYPh+S8aD77M4jlBwj+i' 'sha384-5mNQSWw5SFEhqdvA3OC6R/IpoDuajvmbXqmduURy4r2/BTgAve6NejCldg9sRbZW' 'sha384-T/cwZNEZdmNrUNT/8ZPE73c6HgjdZ1UE0RVYaPEMGQ/phMOkchRJ5Y3Nkk6NOMy4' 'sha384-dmyA+OdKL/bnhlIAXRIYyAKzmTSb7YbFDqq+QFoRlW3Oo8pJpS2QEvUbV/mpwj6A' 'sha384-5XufpUdo76YOak0HmXfUHnlMFqM3wMQl+fQsXJrN7cFYY3AIh3pdIAL70L8gntu0' 'sha384-vaii7Bp02F0hrCwWsrvkSyqCyRxeKn4RCbfvkFC0rSE3KKGoEEff8h5OSutwChM3' 'sha384-xz3acOHxd8OD7BK/bWpbNh7OUq1kKOy2jKSGxbc8iYcJfbIP1o+v1bz6p6zUCSbI' 'sha384-wcZUC/Ny15F2HWYsOeU80qswgmyr3zBN0CkVYhUmpCDMpKuniMwUPoPTP7AYNV3J' 'sha384-OJgdaj8R+kZTA2fTjDuDrhC3rUOnTabaEZheCPYiFlCWGH2Jr++GI62ZVwALt7sh' 'sha384-bmz/KFa2j7yosQSakajIgMv3l9ULDuOH8cMRrckqgrrLp7oAK3c89YWl782qEBOH' 'sha384-N/BkyEdKG+hVum5gh1vshWDbDgrsj3slxxLOsY0F/BlPwePfBRsOaa/CWIWTho+0' 'sha384-3pUGQulG9NiohPkDvOrjXG3huWH5fYod+zRdw9Mmac54IZr2xBS0BxdIPSIIEVZt' 'sha384-Pdzfg16vklweATYFg45+3IQyd7WwV2vUBLcCIKdxvdF3hBI/mW5meGZnXq8E04BK' 'sha384-1pilXTCuMGGuKYb/mWuUo1JQUt2XqTP+l2hBDxuksbE9cuP7FwK8HLTt/2w9TEgU' 'sha384-GlPH2vX0a6AuB6cFqT7ZtaJjR//Pj0L7sS+6i7hFGE366MFH0F5OXjDwl/qG8IGk' 'sha384-haMm1iQJQfAUfs9GYz04z+ij5tcksOQxxv3wtbgAs6QeJw9dbqxiNKRmFzOQrQ/B' 'sha384-RBpYHOSre/NdX7NbQ46j8PKxJx0vdpnj70wiVBA/CQvjocpfkAUxnkE2C55BoBJZ' 'sha384-a1H7q3DSo71GvaMCJSTR1gOo6TT4+Y3E7prQ5frzk+6L5v5gCXXOTvaCLmhTWFRR' 'sha384-+L3d+ETX/9ZeyI+tiMaThkoLzYR3hkvsJ0mNjyQnzSaXIgZavixrX+Gu8fOuhgaz' 'sha384-A0N2+fNOtY8J/bCeJbzwZoQqdTFTMemS+Xd6jckbL0vMPzhfRMmPGJv+qSB7mKI5' 'sha384-6CrKkvlh/K8EVTwjnmXveBcvPrZxScsM0NFiGBzFv7cxvNFUbwshqPom322iv2LP' 'sha384-CsIf/2YoZuasU5QpKj8KLCc6x5afDs6HHA++TGheDYGv3kuFNNH53VDYc0DPLtJi' 'sha384-QT+bZt+YMwNS2UpB5LTNfRs/18nPiYKc30qQZeI5Kx/tqK5sUaNxsWjssCskoEWK' 'sha384-H96nzSLJ8p5qlVw7dD/Sphu6mgZRxawPuZYBoX5VW7EIG38KfH0Esy0w46bERMX1' 'sha384-Bjge8HcBrEw4v/g600VJZ3sfjXVX6KNVwpkSig7EVZxn7PQWXi/C2OG5IfPqs629' 'sha384-YsvXFURf1ZcyBlB+ezNfICpBdugb5gK2ds5YEV+glp3LShiUp/1whr0/3l3zFOIr' 'sha384-dj7en/Qz9hj6nnbmdO1KML6BbX621XvjnThuDxWlPGgDW0nOB+OjCXqVlJXxw90/' 'sha384-LHjkVPA5Zw63MkrHKZg2zeCeOudsFnk7BePrEDYv2q2XXWQ5ejd1CK80E+HQiVmY' 'sha384-LKwDN/J0EdcrtG+2kgowuNxJWrngUk2g/8Cp20ECvO+JaYmXV3F3kP1nEQCQZzOv' 'sha384-nW4lAq4zLT9NipBwv2pmOmlD3+gY7jw//87SXJqdmcueCwXxdoxjQdBBBzPXaQEj' 'sha384-ftovvoNXVpOuRiNpgFTxT97CggjYE/AMcqNjgsQT1OK9P9jMdeT0hcvGWgzQOJOX' 'sha384-RMGgMI2POojHAmJdN5tBKMOjTF/xCf6vz59DhjjLSS3l9ls08R1g/4sdUUJ8aY4J' 'sha384-M5xMHplr55/bWZGepRG2U9HNQ4AbtV2zFV6duic8uhRN3E1mWhh46K2YyFL9/OTo' 'sha384-R9rJO3yD3kC/Hpcmuqxc332+GI1sc27ctEMK8FUbzNzEycZvWMfkdOQimQ1VCROl' 'sha384-K2bJgbX0DWNw54GSGmRZM+QTZZUUgLFnnHFpctY3jDJFzPVHZAymT0BXd7avAsYD' 'sha384-qp60EnwlfmQPfkT6jCSXGHbpAky2sEcE4Rmn2inES/ttdwDHE8CKSjUIVEV+9kYO' 'sha384-tvIAvpXPok1GEWuKMAvyEj0d1Z4y2bAqj1vriFmiw36r236VHaZcLn3dAExrcwAX' 'sha384-NwWf4q7yhtPyyyyh1WEBjp4jw2l5k3MgA0EBtLyTlwjK5LWnTPNVwlRQdwAwhKIl' 'sha384-Q5dIVg4swBQxIcSOUyYvZXVyEda2x1Nd66fd6VmWsMlFENTfhcMwmLnUOzaNM7pA' 'sha384-gfhyb/cIGFoLYk6/vC7UfaI6eCyt1bXGD9sanvhQVjRRcpRb1T9pdWmARnu96r6+' 'sha384-M/VQ3JHH+ZE2V+qdffYJMpkxqlwsFpP6Lh8kg/cb/fufc3VmAOPG5eR1eBLbSOyw' 'sha384-reM4XZ389jmFwWccvaQaiReHQ0CbN4gCefkKJ6iZaAIluBpHG3z4fgBZiyDF5JK2' 'sha384-fNKAAaI8CtUUBjgQ3AHlFzTxgyGZ4QYPxnFaUB2mEy/n4ZBjAO86aHvoKFYcLrP2' 'sha384-gAi6bIdHNu2Z6xQVM1N1prf/BCQgcv5eECaN83Cp8Ua7zYKynxj7uYiGLZaoULBR' 'sha384-uBlNWRISY0AkihFoJMFfo0HVeQdtV4qDdDmNiApFL6B9lKKuft+iINAQtG1LNiL7' 'sha384-aIXZXxlJF3xsUw6t8km9uD04VsLDg7MZ4fRYZvYeny4qO83WEzjJw9dpJTnj+PO2' 'sha384-QIacFwUSniC7xe2b37iaOiOvsP3M7qdk8TYlfhwTfqQfeyShajI28Vm22OXP/sKT' 'sha384-aWn0gdXxaacjPth/1wjf2wetCzS4lBrv9eGVo/tbYriul9y0ucXyy/vKYDXV91cH' 'sha384-/PuUSu9yujYyb4daCkVdqtYB9bBAsfItb47H1W86S6xQ0dAea5rcumG9bwz1Ct7p' 'sha384-a2reHYyO2g5+QBg9o203NviTlRDA9fKEDM1fz0uKGSCE73tHbVvC4jTBpwUzQpzt' 'sha384-/CyX3oC+NlY762P1dSaah2DPshnFnPgdYeuVpjVdCHqCBe+yAxn+bXyeYrKG5P3H' 'sha384-pWD9SRilfhHDR09uRSV0HoRA1nXFdo6Ej624BMhNlNBXDnkanBsCbC2ISmnu6Fvw' 'sha384-wc8TPrAhNzC/PzowvESvGb07xrTECgmF5Eh2TzizP6nx9S5nou5kbhLDfN2XsVGY' 'sha384-9SRLSVsNHHf3l0Oij9jLwT86x8sziciKXG2IFXY8J/+2GlmjMbuiG7lOJ14JpgvA' 'sha384-4hiI1Ftc4Nq4xZHQQ8GTcICh/4rz6r9oCz6etxBzT9qZTv2u2JGUSiPP32y2DnIJ' 'sha384-7qabhDHwfyRLI3b3N+tFERT7TrBkuhFMb6el8MCTv7Q0fcg0vkcD3d5EQ+s71lpe' 'sha384-9YACedEDU0xF4O4+Dn57C6qGkFbXElz2ZNjf8aRtSAzSNU0eIdj5cvQa7mM9xEnh' 'sha384-HZzTxCk7wJtL6QmF3+Wi9ovnJyEw/OU8k1qzMB3lbrcKiX7LnkXp3N9sFZhwZ7MY' 'sha384-aei8jwH6U5K/O2qlkqgj+TsygkL7+T5fuK2YhcClpDft4vbI69bCzToyjeNmP5UF' 'sha384-TutVG7+G0fV3RbyOUVJppvZrqAg5GEXU5mDMek9Mj6TwzZtphmyJQfuDpyBEbzZa' 'sha384-XiNOEbEPLkJBhHOK2v1c0+TNhXBDUypOZsm5JfiMD9W4OPVtyjYqJgMDCF1YjPb3' 'sha384-bJbLEm/WXZ+++12AWEcoMwh24AHzev7Uw1aN4w1dwvCdX8VBNQqegbmRHHjndxmc' 'sha384-DqJP7imhmujPP0qFg/3wq1DvxiRmPd/ERVOZe7qdqW6XE85Cf02UB2LvH32gTpnJ' 'sha384-QAAFmYXnyJ9NSqZBmZFZyPq242mS9MQ1Sq3KWJHzlSW1bOIqFsg8tO9qxco4hhv2' 'sha384-aVT8mCcCYnMstvxCb4Z4O1+VapZZ7yS1+ACu/LdhKaesmW8CvHl2uq+diLRViGtR' 'sha384-xV7fN59eoFptWEsnOItqDZlMd2Bqptm98wBraGuG9EJC3lIOZcKpoYfT4KvRL2OA' 'sha384-luRoc2alVMuQlsXTL4YjesKa5rSca/7gIeum3UN6ppXHoOltZuRRL2Y6bVq5FXR4' 'sha384-jmrGbomo0yVPRhuqodyTu9Y+m1904nuWjU2rchaDifNvc8A6+NdukVcpy9MhzSpn' 'sha384-8JqcVRGY833UPv/LxhPeQFqJe7RQfJo2vp/fOU54SEiv/mIGwpyj76SlHHjYfGS6' 'sha384-2QNQd0X6QQc6nqnvv+N9x47Sn3GhKLMF/YJEHTPX9kR9KDZ3bIkk6O/367e2o5NG' 'sha384-GhQsuBKxPC90CcW/1PZVAiQra70HY54LHrkL7RI5Nhtss6D0bzlzPtDMCjq5zp05' 'sha384-fVknGC4OPuPh3N1UBnw3bU5uoWUKKxDi+DuYfDahBEP3fVCQIxwk9MoZ7QDhfOF4' 'sha384-tIyS/UdKK+3YkhzAx2K/V/kiRijEIAhbEAWr3bZ644+L3U5ofWp5JDxG+vWfJGEB' 'sha384-8p7G2h5WVnzzeC9i1iOwX+afLvon4t7vXSuCmWclfNV3SGivto65DKYtGXEUJ8Om' 'sha384-uXbSOOhMlAyxdAdZYF8zUsQ4A93yxWJocVCs0xuw7mhFfR74yaufxdoVwYbG1k31' 'sha384-syFKxmTSZNThu5ff0uJSNvNnY+ZU2INbUPk+PyV7iM6v8hQYjw2wKSxpdADmHPi1' 'sha384-3EE52qXSA+j5FGqaRjFVdmGsKhnOfJ9ueFKG4zB6elh6jemzUbySmuGkNF1pNARG' 'sha384-89KjUScsyilq+b5X/wZdMuZjK47pUJUXfiAneXhUe389KLdxFHc7Sg7Sp7W0WHIq' 'sha384-LHbup3Ll9vQQ3f1kIWsbgETiaI+KLXPYnhlwVTumVAZroDzW0XAZG9tIoQT4dAcV' 'sha384-AW0XZwCRORqsPb7VuEwtUyv8SsBnek2ZkUvEI1Rvd2xthr50IJS/sdr0zRGQNFZj' 'sha384-Y2hFGmR2gLfVQ9DnPWXrRVNWXfpOWKAcu5rtMF89neAzcPeHYsXzCLr0c9YysJwp' 'sha384-9gQxNVGNNC4DC6UOk2yujoG8nHYzZgt4gIExXvtXEGf757Ac6N3uun3BelID2Qfh' 'sha384-erV0W5GWJrVqF5QzbAFa5E6oqxihLh71Wtps9OyBS34FTalUrsoFUF82v4Pc1Hg9' 'sha384-Hz0xhnuJEpGeP5J60NNwWrri6BEqnki086wrjzg426Ih3xFXA4qflqF117rhi42B' 'sha384-UOhTBWPqv9WAypj0Ttnlt03AuGM5Nt1S0NYDa9yvpjxM7shGNarNawk13vg+gc21' 'sha384-i/utMY43LnELiOIU7MC6qAOIqjRSX29dd86DiQfNwhi/r43TE+Z11G80hWvaFdzn' 'sha384-sfRCqyFeqYBxI26kWbsuwWMlBHJ8/MOmJNa8X/Yq3wGXeIX6M1Dg5OHWxVClF1++' 'sha384-52sYBE0owxExeeavpXkhmbY30hoZaGs69/j/OWhZPH8C+76atVpHDxLWmEjTMT+D' 'sha384-p5jINPDcDfdkPT7cfWuSMstYQQ2adpMeEhmI1qZTHNOCUtjg9w8YiMOT0lc1RG+P' 'sha384-VWx7Pbvds8fFP1GQT9r22ibc9w6AoDsc+oIK1iVGB9clByLhxKT3ozg2Yxojj8Ga' 'sha384-dE7L8mFCK+gW/NRvtRh8265JIjFilzaG9vdb9ejjmuFDFhs6GK5lfMNGVMAOXPuw' 'sha384-YJ0Z3GPtkR/cmKQGVK6yNPNmer2SS4tuRJ21HWFOwDCE8BRJ66QPBNHC4mMaLUOQ' 'sha384-1Mhgkz8ySzKeD3DiCCcc0jQWYKoOyEXCML5u/YpWbmxcixU1+nSuGohSzcxrwH7Q' 'sha384-LbZ6HJt/oGGq1Zr5lKqpe9GDGpfs7YgeRt8sxwbV1yAZcW1MtmZCWBIGQMuXU921' 'sha384-Ufz8XiXWk4h1sgYnQI1Cp5Ms7IHtq6TAIZznlDBCJsIxsUhW3oqM78bXBQ7DsIo8' 'sha384-5v+R+QDT0tEguF+TpGwoEwxICudTjkqC94B0uXX6mKMMlE5q6TdlnrGigZEdZn5k' 'sha384-mHWQTMsUN25WFK/Ir7Koh1a7Ah6zJveCluEWh6ZbLTE4JcP39ELSgfIRpf19a5bS' 'sha384-Hbe5TCw99IbZp15UyykHAmJTWatxpMwjp1zD4M7JgGx6om6REnaYTPHhz0Da1KPr' 'sha384-Q2J0v1B+F6HN1lN+B5whlgZcmYfjAEyUnOI7sJOA0SIgEAh2SutWjlHLhE0BAlb0' 'sha384-AhHvJyK4Mo2Lr6Vl38Q1pbyr4hKajrRs6FwkNRLzIgvhXlBBN6nfThdl5MyQoct9' 'sha384-lKoZch0NzfMx+VXp+WVMdCcvA9Wf9JRM/vt5SSWajh92qqPBTvVuuAcoFY0UxD4Z' 'sha384-mcK3UMVp0GUn5WkaTG0rgxbHY3UDoU6C8/r80o3FlUQXGMRs2w7QhIYdeigglv32' 'sha384-dwib240Wl9GZJv12nHHBWl4pWIb/hc4yrAa5HJ67msqG9iaMuvkARhg0Got7VT8M' 'sha384-mCzzAYMEzy0MVYz8dmSaZquF8eEe+h62pBszg28JiKASfbPPegyClEEJ0qRT4oAl' 'sha384-Wkhg1tNdk1rCHUoJ0IotbHgQ8p34Ft77j2oX5JT1x5V7oU4PHPUx2TzyxbmH/CpV' 'sha384-q6eGrDugfMtqdd4FMQ3QoA8OXQ2lrcxe+F2nsCsxYUFlA3mYyGU4nginf6+1hFfG' 'sha384-qfqOnAtTKufbF6DHYCIU/HO++wN+TOasEgxmj9G1cMet8DyQ8Z6441S8KLgx7Ogb' 'sha384-WVmbv7sZ0WnO6IZ/VkhGlYZKtE7eUlzZn1ERrrVofA2uKYcSZg/aact0M8yNClpp' 'sha384-IMs/DQQg9/rnaEl9Ozt0I6UdxzjB6/1fPlqTF6toRztqXPs5jDBqLlrRPn3ZKsLw' 'sha384-BdXpfVfUER3BV0ZkbEWcnNonrV+2od/M17yZDXLWccp5oamvNyFGCTAkmWCwTvhO' 'sha384-tXKwYgjRJ1dk8n4a9A2G/285AtBI2GXwi4a959xk2Fl9hOZYHh7k8PmLAwA9oTI4' 'sha384-xZfsEdLvTo0mP31ClC2LDjsW83FPCgi2MVn7TjarV9a/J/DdT+A32uIkchBCrDRf' 'sha384-C4EClKu0ywFMFEvayIV8JO1hjJu7jXRJYZtOTC3ZLLhZITYykeasGJu44zijzZL4' 'sha384-16wQeREjWUYdV8Y/JP6XAxEGNV70iLf1C4MrPxPEkIn0CY1QSHSHvqffwcmGX9kG' 'sha384-FEHF88Bdd67Ucs8w+sq3c+riaYC0Cfs1VhUACC0+XwokpV8/fnLjJ+9Kft3QihVy' 'sha384-uGEsvx8th0rj7t6JIP/Jh9gks7GETUsC87NUFORRpC3vJky5iZCUO5u2AUv7mjIa' 'sha384-SOSCxgXu6VbvoGyH0W+RXkZwo2dmtGeNAjcOikGzToast6PH33ax7qSMpfANMcFy' 'sha384-UEVxsZA2NIO/xwvozjA3fW/m5WercK7Sn1MViyQANbLZ5rx60lTKqeFM11hLZf5t' 'sha384-iP833FMI3Gbb8PIBNOY8aTsWI8/4EAzQk1sj2xnNWsZqhy+x0UjkT5HtEdVmzh4E' 'sha384-SFD/2kuY2oP7fuXM8+eoqoh4eedkTR8v417x1Tfz3GwYuHlgzmIKdrINqlFbD/67' 'self' blob: d1a3f4spazzrp4.cloudfront.net d1w2poirtb3as9.cloudfront.net d3i4yxtzktqr9n.cloudfront.net d1nyezh1ys8wfo.cloudfront.net d3i4yxtzktqr9n.cloudfront.net *.altrulabs.com *.doubleclick.net *.facebook.com *.facebook.net *.google-analytics.com *.google.com *.hotjar.com *.hotjar.io *.hotjar.net *.snapchat.com *.qualtrics.com *.youtube.com analytics.pangle-ads.com analytics.tiktok.com api.company-target.com app.acuityscheduling.com atag.adgile.media *.bing.com maps.googleapis.com px.ads.linkedin.com s.company-target.com sc-static.net/scevent.min.js snap.licdn.com static.ads-twitter.com tag-logger.demandbase.com tag.demandbase.com/e353a7a2a87d1338.min.js tags.tiqcdn.com *.mutinycdn.com https://www.googleadservices.com/pagead/ tb-static.uber.com/prod/uber-static/uber-sites/all-live-pages.json tracking.intentsify.io translate.googleapis.com uber.formstack.com uber.zappy-ride.com usage-us.talentplatform.com google-analytics.com google.fr google.ca https://www.googletagmanager.com *.yimg.jp *.yjtag.jp jometer.com *.amazon-adsystem.com *.uber.com *.yahoo.co.jp *.clarity.ms *.taboola.com block.opendns.com t.co *.uber-assets.com *.uberinternal.com *.twitter.com *.jometer.com *.ibb.co id.rlcdn.com jotrack.s3.amazonaws.com cur.cursors-4u.net *.gstatic.com google.co.in/pagead s.yimg.com/wi/ytc.js sp.analytics.yahoo.com redditstatic.com/ads/pixel.js alb.reddit.com/rp.gif s3.amazonaws.com/jotrack https://www.redditstatic.com https://pixel-config.reddit.com https://conversions-config.reddit.com https://api.c99.ai/api/v1/fire/snippet https://dx.mountain.com/spx https://gs.mountain.com/gs https://px.mountain.com/st 44.238.122.172 100.20.58.101 35.85.84.151 44.228.85.26 34.215.155.61 35.160.46.251 52.71.121.170 18.210.229.244 44.212.189.233 3.212.39.155 52.22.50.55 54.156.2.105 live.rezync.com/sync live.rezync.com/pixel idsync.rlcdn.com/ p.rfihub.com/ js.driftt.com https://munchkin.marketo.net/munchkin.js https://munchkin.marketo.net/163/munchkin.js https://js.adsrvr.org/up_loader.1.1.0.js https://tag.demandbase.com/8fd99f526b0979ce.min.js https://insight.adsrvr.org/ https://js.adsrvr.org/universal_pixel.1.1.3.js https://match.adsrvr.org *.mktoresp.com wss://*.hotjar.com ads-engagement.presage.io https://scripts.inmarkethub.com/conversion-tracking/ 'self' 'unsafe-eval' 'wasm-unsafe-eval' https://*.googleapis.com https://*.gstatic.com https://*.ggpht.com https://*.googleusercontent.com jscdn.appier.net tags.srv.stackadapt.com qvdt3feo.com https://bzrcdn.openai.com/sdk/oaiq.min.js https://go.affec.tv/j/69f4d03351c6f99b62d06e9b https://accounts.google.com 'self' https://www.google-analytics.com https://ssl.google-analytics.com maps.googleapis.com maps.google.com https://*.googletagmanager.com,style-src 'self' 'unsafe-inline' https://d1a3f4spazzrp4.cloudfront.net https://d3i4yxtzktqr9n.cloudfront.net https://tb-static.uber.com https://tbs-static.uber.com https://tags.srv.stackadapt.com/sa.css https://fonts.googleapis.com/ https://api.tiles.mapbox.com https://fonts.googleapis.com https://accounts.google.com,font-src 'self' data: https: http:,img-src 'self' https: http: data: blob: *.mutinycdn.com alb.reddit.com pixel.rubiconproject.com anylist.c.appier.net t0.c.appier.net gocm.c.appier.net a.c.appier.net s.c.appier.net c.c.appier.net https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com https://*.g.doubleclick.net https://*.google.com *.google.com *.google.ad *.google.ae *.google.com.af *.google.com.ag *.google.com.ai *.google.al *.google.am *.google.co.ao *.google.com.ar *.google.as *.google.at *.google.com.au *.google.az *.google.ba *.google.com.bd *.google.be *.google.bf *.google.bg *.google.com.bh *.google.bi *.google.bj *.google.com.bn *.google.com.bo *.google.com.br *.google.bs *.google.bt *.google.co.bw *.google.by *.google.com.bz *.google.ca *.google.cd *.google.cf *.google.cg *.google.ch *.google.ci *.google.co.ck *.google.cl *.google.cm *.google.cn *.google.com.co *.google.co.cr *.google.com.cu *.google.cv *.google.com.cy *.google.cz *.google.de *.google.dj *.google.dk *.google.dm *.google.com.do *.google.dz *.google.com.ec *.google.ee *.google.com.eg *.google.es *.google.com.et *.google.fi *.google.com.fj *.google.fm *.google.fr *.google.ga *.google.ge *.google.gg *.google.com.gh *.google.com.gi *.google.gl *.google.gm *.google.gr *.google.com.gt *.google.gy *.google.com.hk *.google.hn *.google.hr *.google.ht *.google.hu *.google.co.id *.google.ie *.google.co.il *.google.im *.google.co.in *.google.iq *.google.is *.google.it *.google.je *.google.com.jm *.google.jo *.google.co.jp *.google.co.ke *.google.com.kh *.google.ki *.google.kg *.google.co.kr *.google.com.kw *.google.kz *.google.la *.google.com.lb *.google.li *.google.lk *.google.co.ls *.google.lt *.google.lu *.google.lv *.google.com.ly *.google.co.ma *.google.md *.google.me *.google.mg *.google.mk *.google.ml *.google.com.mm *.google.mn *.google.ms *.google.com.mt *.google.mu *.google.mv *.google.mw *.google.com.mx *.google.com.my *.google.co.mz *.google.com.na *.google.com.ng *.google.com.ni *.google.ne *.google.nl *.google.no *.google.com.np *.google.nr *.google.nu *.google.co.nz *.google.com.om *.google.com.pa *.google.com.pe *.google.com.pg *.google.com.ph *.google.com.pk *.google.pl *.google.pn *.google.com.pr *.google.ps *.google.pt *.google.com.py *.google.com.qa *.google.ro *.google.ru *.google.rw *.google.com.sa *.google.com.sb *.google.sc *.google.se *.google.com.sg *.google.sh *.google.si *.google.sk *.google.com.sl *.google.sn *.google.so *.google.sm *.google.sr *.google.st *.google.com.sv *.google.td *.google.tg *.google.co.th *.google.com.tj *.google.tl *.google.tm *.google.tn *.google.to *.google.com.tr *.google.tt *.google.com.tw *.google.co.tz *.google.com.ua *.google.co.ug *.google.co.uk *.google.com.uy *.google.co.uz *.google.com.vc *.google.co.ve *.google.vg *.google.co.vi *.google.com.vn *.google.vu *.google.ws *.google.rs *.google.co.za *.google.co.zm *.google.co.zw *.google.cat"><script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-SFD/2kuY2oP7fuXM8+eoqoh4eedkTR8v417x1Tfz3GwYuHlgzmIKdrINqlFbD/67">!function(){var e,t,n,i,r={passive:!0,capture:!0},a=new Date,o=function(){i=[],t=-1,e=null,f(addEventListener)},c=function(i,r){e||(e=r,t=i,n=new Date,f(removeEventListener),u())},u=function(){if(t>=0&&t<n-a){var r={entryType:"first-input",name:e.type,target:e.target,cancelable:e.cancelable,startTime:e.timeStamp,processingStart:e.timeStamp+t};i.forEach((function(e){e(r)})),i=[]}},s=function(e){if(e.cancelable){var t=(e.timeStamp>1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?function(e,t){var n=function(){c(e,t),a()},i=function(){a()},a=function(){removeEventListener("pointerup",n,r),removeEventListener("pointercancel",i,r)};addEventListener("pointerup",n,r),addEventListener("pointercancel",i,r)}(t,e):c(t,e)}},f=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach((function(t){return e(t,s,r)}))},p="hidden"===document.visibilityState?0:1/0;addEventListener("visibilitychange",(function e(t){"hidden"===document.visibilityState&&(p=t.timeStamp,removeEventListener("visibilitychange",e,!0))}),!0);o(),self.webVitals={firstInputPolyfill:function(e){i.push(e),u()},resetFirstInputPolyfill:o,get firstHiddenTime(){return p}}}();</script><script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-Wkhg1tNdk1rCHUoJ0IotbHgQ8p34Ft77j2oX5JT1x5V7oU4PHPUx2TzyxbmH/CpV">(function () {
try {
for (var i = 0; i < document.scripts.length; i++) {
var script = document.scripts[i];
var prevOnError = script.onerror;
script.onerror = function (event) {
var errorMessage = 'Error loading script ' + this.src;
console.debug(errorMessage);
window.onerror(
errorMessage,
'load-error-handler: ' + window.location.href,
0,
0,
new Error(errorMessage)
);
if (prevOnError) {
prevOnError(event);
}
};
}
} catch (e) {
// we do not want this script to cause problems
console.debug('load-error-handler', {
e,
});
}
})()</script><script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-mCzzAYMEzy0MVYz8dmSaZquF8eEe+h62pBszg28JiKASfbPPegyClEEJ0qRT4oAl">
const messageCounts = {};
const httpRegex = /^https?:///;
onerror = function (m, s, l, c, e) {
if (s && !httpRegex.test(s)) return;
var getError = function(e){var t=e;return"object"==typeof e&&(e instanceof Array||(t={},Object.getOwnPropertyNames(e).forEach((function(r){t[r]=e[r]})))),t};
var _e = e || {};
messageCounts[m] = (messageCounts[m] || 0) + 1;
if (_e.__handled || messageCounts[m] > 3) return;
var x = new XMLHttpRequest();
x.open('POST', '/_errors');
x.setRequestHeader('Content-Type', 'application/json');
x.send(
JSON.stringify({
ssr_build_hash: '151e7c19001c8cf5e80b2f3e5c0eb8c27639e82b',
message: m,
source: s,
line: l,
col: c,
error: getError(_e),
})
);
_e.__handled = true;
};
</script><style id="fusion-plugin-botdefense-hide-grecaptcha-badge" nonce="7c045196-9c90-4634-87c3-e5902fef999a">.grecaptcha-badge { visibility: hidden !important; }</style><meta name="botdefense-enabled" content="false" /><script async nonce='7c045196-9c90-4634-87c3-e5902fef999a' src='https://tags.tiqcdn.com/utag/uber/main/prod/utag.js'></script> <meta name="msvalidate.01" content="813904D1791F14A7C08B0F95D62B936C" />
<meta
name="google-site-verification"
content="rchXWPkvl_50DRQRhfcJYNUFN09oRKmZ2fB0E16cmy0"
/>
<meta
name="google-site-verification"
content="Bjn4rtR4RnyNEyL8jxpWMgHWYsN609d3ym5JC3UnPZw"
/>
<meta
name="google-site-verification"
content="ZNd-KiQy8TBAswVsPxVO_P2hH94PzfJH7swpl_Ubyrk"
/>
<meta name="referrer" content="strict-origin-when-cross-origin" /> <meta property="fb:app_id" content="277064115737714" /> <meta name="twitter:site" content="@Uber" /> <meta name="twitter:card" content="app" /> <meta name="twitter:app:id:iphone" content="368677368" /> <meta name="twitter:app:id:ipad" content="368677368" /> <meta name="twitter:app:id:googleplay" content="com.ubercab" /> <meta property="og:type" content="website" /> <script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-q6eGrDugfMtqdd4FMQ3QoA8OXQ2lrcxe+F2nsCsxYUFlA3mYyGU4nginf6+1hFfG">(function (){class PreAnalytics{static queue=[];static emitter=null;static add(e){e&&(PreAnalytics.emitter?e.name&&PreAnalytics.emitter(e.name,e.payload||{}):PreAnalytics.queue.push(e))}static flush(e){PreAnalytics.emitter=e;const t=PreAnalytics.queue;PreAnalytics.queue=[],t.forEach((t=>{t?.name&&e(t.name,t?.payload||{})}))}}
window.__PRE_ANALYTICS__ = PreAnalytics})();</script><script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-qfqOnAtTKufbF6DHYCIU/HO++wN+TOasEgxmj9G1cMet8DyQ8Z6441S8KLgx7Ogb">(function (){class PubSub{#s={};subscribe(s,b){return this.#s[s]||(this.#s[s]=[]),this.#s[s].push(b),()=>this.unsubscribe(s,b)}unsubscribe(s,b){this.#s[s]&&(this.#s[s]=this.#s[s].filter((s=>s!==b)))}publish(s,b){this.#s[s]&&(this.#s[s].forEach((s=>{s(b)})),this.clear(s))}clear(s){s?delete this.#s[s]:this.#s={}}}
window.__PUB_SUB__ = new PubSub();})();</script><script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-WVmbv7sZ0WnO6IZ/VkhGlYZKtE7eUlzZn1ERrrVofA2uKYcSZg/aact0M8yNClpp">(function (){window["__uber_edge_cache_enabled__"] = true;})();</script><script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-IMs/DQQg9/rnaEl9Ozt0I6UdxzjB6/1fPlqTF6toRztqXPs5jDBqLlrRPn3ZKsLw">(function (){function __uber_sites_bootstrap_loader__(e,r,t){if(window.__uber_sites_bootstrap_metadata__={fetch_defined:String("function"==typeof e),is_edge_cache_enabled:String(Boolean(r)),page_generated_at:t.page_generated_at,page_generated_uuid:t.page_generated_uuid},"function"!=typeof e)return window.__uber_sites_bootstrap_error__=new Error("No native support for fetch()"),window.__uber_sites_bootstrap_error__.name="FetchNotSupported",void(window.__uber_sites_bootstrap__=Promise.resolve(null));const _=new URL(window.location.href),o=_.searchParams.get("referrer"),s="string"==typeof o?o:document.referrer,a=new URL("/bootstrap.json",window.location.origin);a.searchParams.set("referrer",s),a.searchParams.set("_bmd",t.page_generated_at+"_"+t.page_generated_uuid),r&&a.searchParams.set("_isedgecacheenabled",r);window.__uber_sites_bootstrap__=e(a.href,{credentials:"include",method:"GET",mode:"no-cors",redirect:"manual"}).then((function(e){return"opaqueredirect"===e.type?(_.searchParams.set("referrer",s),_.searchParams.set("_pec","no"),window.location.replace(_.href),Promise.resolve(null)):e.ok?e.json():(window.__uber_sites_bootstrap_error__=new Error(`${e.status} ${e.statusText}`),window.__uber_sites_bootstrap_error__.name="FetchReturned",window.__uber_sites_bootstrap_error__.status=e.status,Promise.resolve(null))})).catch((function(e){return window.__uber_sites_bootstrap_error__=e,Promise.resolve(null)}))}
__uber_sites_bootstrap_loader__((typeof fetch !== 'function') ? undefined : fetch, true, {"page_generated_at":"2026-09-10T05:05:30.832Z","page_generated_uuid":"6232ae06-0ba5-4052-b326-0001d0bc4062"});})();</script><script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-BdXpfVfUER3BV0ZkbEWcnNonrV+2od/M17yZDXLWccp5oamvNyFGCTAkmWCwTvhO">(function (){function __main__(){const t=function(){const t={isUserPotentiallyLoggedIn:!1},e=document.cookie.match("(^|;)\\s*smeta\\s*=\\s*([^;]+)"),n=e?.pop()||"";if(n)try{const e=JSON.parse(n),i=new Date<new Date(e.expiresAt);t.isUserPotentiallyLoggedIn=i,t.sessionExpirationDate=new Date(e.expiresAt)}catch(t){}return t}()?.isUserPotentiallyLoggedIn;t&&navigator.permissions.query({name:"geolocation"}).then((t=>{if("granted"===t.state){const t=document.cookie.split(";").some((t=>t.trim().startsWith("optOutCH=")));if(t)return;const e=document.createElement("style");e.textContent=".city-hub-redirect-wrapper { display: block !important; }",document.head.appendChild(e),window.__PUB_SUB__.subscribe("getUserTravelStatus",(n=>{const i=n?.data,s=new URL("https://www.uber.com/city-hub");i?.cityId&&s.searchParams.set("city_id",i?.cityId),s.searchParams.set("source","ar"),i?.isUserTraveling&&!t?window.location.href=s.toString():e.textContent=".city-hub-redirect-wrapper { display: none !important; }"}))}}))}
try {
__main__({}, new Map(), 'cityHubRedirect')
} catch {
}
})();</script><script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-tXKwYgjRJ1dk8n4a9A2G/285AtBI2GXwi4a959xk2Fl9hOZYHh7k8PmLAwA9oTI4">(function (){function __main__(){const t=new URLSearchParams(window.location.search);if("true"===t.get("optOutCH")){if(!document.cookie.split(";").some((t=>t.trim().startsWith("optOutCH=")))){const t=new Date;t.setTime(t.getTime()+864e5),document.cookie=`optOutCH=true; expires=${t.toUTCString()}; path=/`}t.delete("optOutCH");const o=t.toString()?`${window.location.pathname}?${t.toString()}`:window.location.pathname;window.history.replaceState({},"",o)}}
try {
__main__({}, new Map(), 'nav-v2')
} catch {
}
})();</script><script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-xZfsEdLvTo0mP31ClC2LDjsW83FPCgi2MVn7TjarV9a/J/DdT+A32uIkchBCrDRf">(function (){function __main__(a,e){const n=e?.get?.("getCurrentUser");n&&!n.skip&&"data"in n&&window?.__PRE_ANALYTICS__?.add?.({name:"pageview:logged-in",payload:{value_map:{is_logged_in:String(Boolean(n.data?.user?.firstName))}}})}
(function() {
try {
window.__component_LoggedInPageview_script_injected__ = true;
const rpcIds = ["getCurrentUser"];
const completedRpcs = new Map();
function checkAndExecute() {
if (completedRpcs.size === rpcIds.length) {
try {
__main__({}, completedRpcs, 'LoggedInPageview')
} catch {
}
}
}
rpcIds.forEach(rpcId => {
if (window.__PUB_SUB__) {
window.__PUB_SUB__.subscribe(rpcId + '',
function(data) {
completedRpcs.set(rpcId, data);
checkAndExecute();
});
}
});
checkAndExecute();
} catch {
window.__component_LoggedInPageview_script_injected__ = false;
window?.__PRE_ANALYTICS__?.add?.({
name: 'uber-sites:component-enhancer-script-injection-failure',
payload: {
componentName: 'LoggedInPageview',
error: error,
},
});
}
})();
})();</script>
<script type="application/json" id="__MARKETING_UCLICK_LINK_CONFIG__">
%7B%22commonParams%22%3A%7B%22uclick_id%22%3A%5B%7B%22variable%22%3A%22sessionId%22%2C%22renameTo%22%3A%22uclick_id%22%7D%5D%2C%22marketing_vistor_id%22%3A%5B%7B%22variable%22%3A%22marketingVisitorId%22%2C%22renameTo%22%3A%22marketing_vistor_id%22%7D%5D%2C%22paidTracking%22%3A%5B%7B%22param%22%3A%22utm_source%22%7D%2C%7B%22param%22%3A%22utm_campaign%22%7D%2C%7B%22param%22%3A%22utm_content%22%7D%2C%7B%22param%22%3A%22utm_medium%22%7D%2C%7B%22param%22%3A%22utm_term%22%7D%2C%7B%22param%22%3A%22ad_id%22%7D%2C%7B%22param%22%3A%22adgroup_id%22%7D%2C%7B%22param%22%3A%22campaign_id%22%7D%2C%7B%22param%22%3A%22keyword_id%22%7D%2C%7B%22param%22%3A%22keyword%22%7D%2C%7B%22param%22%3A%22creative_id%22%7D%2C%7B%22param%22%3A%22creative_name%22%7D%2C%7B%22param%22%3A%22click_id%22%7D%2C%7B%22param%22%3A%22cid%22%7D%2C%7B%22param%22%3A%22kwid%22%7D%2C%7B%22param%22%3A%22kw%22%7D%2C%7B%22param%22%3A%22gclid%22%7D%2C%7B%22param%22%3A%22ttclid%22%7D%2C%7B%22param%22%3A%22fbclid%22%7D%2C%7B%22param%22%3A%22gbraid%22%7D%5D%7D%2C%22attachSearchParams%22%3A%5B%7B%22domains%22%3A%5B%22*%22%5D%2C%22includes%22%3A%5B%22uclick_id%22%5D%7D%2C%7B%22domains%22%3A%5B%22rides.sng.link%22%2C%22eats.sng.link%22%2C%22earn.sng.link%22%5D%2C%22params%22%3A%5B%7B%22variable%22%3A%22marketingVisitorId%22%2C%22renameTo%22%3A%22mvid%22%7D%5D%7D%2C%7B%22domains%22%3A%5B%22ocie.app.link%22%2C%22skuo.app.link%22%5D%2C%22params%22%3A%5B%7B%22variable%22%3A%22marketingVisitorId%22%2C%22renameTo%22%3A%22~tune_publisher_sub1%22%7D%5D%7D%2C%7B%22domains%22%3A%5B%22auth.uber.com%22%5D%2C%22includes%22%3A%5B%22paidTracking%22%2C%22marketing_vistor_id%22%5D%2C%22params%22%3A%5B%7B%22param%22%3A%22id%22%7D%2C%7B%22param%22%3A%22userId%22%7D%2C%7B%22param%22%3A%22uber_client_name%22%7D%2C%7B%22param%22%3A%22name%22%7D%2C%7B%22param%22%3A%22countryiso2%22%7D%2C%7B%22param%22%3A%22requestToken%22%7D%5D%7D%2C%7B%22domains%22%3A%5B%22restaurant.uber.com%22%2C%22m.uber.com%22%2C%22ubereats.com%22%2C%22www.ubereats.com%22%2C%22get.uber.com%22%5D%2C%22includes%22%3A%5B%22paidTracking%22%2C%22marketing_vistor_id%22%5D%7D%2C%7B%22domains%22%3A%5B%22merchants.ubereats.com%22%2C%22www.uberhealth.com%22%5D%2C%22updateLinksOnSameDomain%22%3Atrue%2C%22includes%22%3A%5B%22paidTracking%22%2C%22marketing_vistor_id%22%5D%7D%2C%7B%22domains%22%3A%5B%22drivers.uber.com%22%5D%2C%22includes%22%3A%5B%22paidTracking%22%2C%22marketing_vistor_id%22%5D%2C%22params%22%3A%5B%7B%22param%22%3A%22invite_code%22%7D%2C%7B%22param%22%3A%22cid%22%7D%5D%7D%2C%7B%22domains%22%3A%5B%22www.uber.com%22%5D%2C%22updateLinksOnSameDomain%22%3Atrue%2C%22includes%22%3A%5B%22paidTracking%22%5D%2C%22params%22%3A%5B%7B%22param%22%3A%22uber_client_name%22%7D%2C%7B%22param%22%3A%22countryiso2%22%7D%2C%7B%22param%22%3A%22userId%22%7D%2C%7B%22param%22%3A%22id%22%7D%2C%7B%22param%22%3A%22requestToken%22%7D%2C%7B%22param%22%3A%22region%22%7D%2C%7B%22param%22%3A%22evp%22%7D%5D%7D%2C%7B%22domains%22%3A%5B%22account.uber.com%22%2C%22bonjour.uber.com%22%2C%22mobility-webview.uber.com%22%2C%22freightbonjour.uber.com%22%2C%22businesses.uber.com%22%2C%22charter.uber.com%22%2C%22paypay.uber.com%22%2C%22direct.uber.com%22%2C%22event.uber.com%22%2C%22vouchers.uber.com%22%2C%22po.uber.com%22%2C%22xlb-beta.uber.com%22%2C%22thankatruckdriver.uber.com%22%2C%22business-beta.uber.com%22%2C%22direct-beta.uber.com%22%2C%22transit.uber.com%22%2C%22reimagine.uber.com%22%2C%22beta.uber.com%22%2C%22transit-beta.uber.com%22%2C%22guest.uber.com%22%2C%22xlb.uber.com%22%5D%2C%22includes%22%3A%5B%22paidTracking%22%5D%7D%2C%7B%22domains%22%3A%5B%22business.uber.com%22%5D%2C%22includes%22%3A%5B%22paidTracking%22%5D%2C%22params%22%3A%5B%7B%22param%22%3A%22uber_client_name%22%7D%2C%7B%22param%22%3A%22name%22%7D%2C%7B%22param%22%3A%22countryiso2%22%7D%5D%7D%5D%2C%22preventSearchParams%22%3A%5B%7B%22domains%22%3A%5B%22websites.crawco.nl%22%2C%22www.ueberbrueckungshilfe-unternehmen.de%22%2C%22ec.europa.eu%22%2C%22www.sheerid.com%22%2C%22partners.uber.com%2Fdeeplink%2Fbook-a-vaccine-walgreens%22%2C%22drivers.uber.com%2Fdeeplink%2Fcovid-vaccine-rides%22%2C%22bip.warszawa.pl%22%2C%22archiwum.bip.uml.lodz.pl%22%2C%22www.adr.org%22%2C%22www.bli.gov.tw%22%2C%22tb-static.uber.com%22%5D%2C%22includes%22%3A%5B%22uclick_id%22%5D%7D%5D%2C%22skipOnSourcePages%22%3A%5B%22www.uber.com%2Flegal%22%5D%7D
</script>
<script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-16wQeREjWUYdV8Y/JP6XAxEGNV70iLf1C4MrPxPEkIn0CY1QSHSHvqffwcmGX9kG">(function (){function matchesAnyDomainPath(e,t){const n=e.host.toLowerCase(),a=e.pathname.toLowerCase();return(t||[]).some((function(e){const t=e.indexOf("/");let r,i;return t<0?(r=e,i=""):0===t?(r="*",i=e):(r=e.substring(0,t),i=e.substring(t)),i=i.toLowerCase(),r=r.toLowerCase(),("*"===r||n===r)&&a.startsWith(i)}))}function applySearchParamsConfig(e,t,n,a){(t||[]).forEach((function(t){matchesAnyDomainPath(e,t.domains)&&(t.includes&&n&&t.includes.forEach((e=>{(n[e]||[]).forEach(a)})),(t.params||[]).forEach(a))}))}function getEligibleValuesToAttach(e,t,n,a){const r={};for(const[e,n]of t?.searchParams||[])r[e]=n;const i=Object.assign({},window?.__marketing_uclick_link__?.variables||{});return applySearchParamsConfig(e,n,a,(function(e){e.variable?delete i[e.variable]:e.param&&delete r[e.param]})),{params:r,variables:i}}function attachQueryParams(e,t,n,a){applySearchParamsConfig(e,t,n,(function(t){const n=t.value?t.value:t.variable?a.variables[t.variable]:a.params[t.param];n&&e.searchParams.set(t.renameTo||t.variable||t.param,n)}))}function isSameDomainAllowed(e,t){return(t||[]).some((t=>matchesAnyDomainPath(e,t.domains)&&t.updateLinksOnSameDomain))}function decorateHrefFactory(e){const t=e&&e.commonParams||{},n=e&&e.attachSearchParams||[],a=e&&e.preventSearchParams||[],r=e&&e.skipOnSourcePages||[];return function(e){if(!e)return e;let i,o;try{i=new URL(window?.location?.href),o=new URL(e,i)}catch{return e}if(matchesAnyDomainPath(i,r))return e;if(!(o.host&&o.host!==i.host||isSameDomainAllowed(o,n)))return e;const c=getEligibleValuesToAttach(o,i,a,t);return attachQueryParams(o,n,t,c),o.href}}function mutateLinkFactory(e){const t=decorateHrefFactory(e);return function(e){if(e.target instanceof Element){const n=e.target.closest("[href]");if(!n||n.getAttribute("data-uclick-id"))return;if(n.closest("svg"))return;const a=n.href||n.getAttribute("href")||"",r=t(a);if(!r||r===a)return;n.setAttribute("href",r),n.setAttribute("data-uclick-id",window?.__marketing_uclick_link__?.variables?.sessionId||"")}}}function setVariables(e){window.__marketing_uclick_link__&&(window.__marketing_uclick_link__.variables=e)}function installHandlers(e){const t=document.getElementById(e);if(t&&t.textContent){const e=JSON.parse(decodeURIComponent(t.textContent));if(e&&!1===e.enabled)return;const n=mutateLinkFactory(e);document.addEventListener("mousedown",n),document.addEventListener("click",n),window.__marketing_uclick_link__={decorateHref:decorateHrefFactory(e),eventListener:n,variables:{}}}}function uninstallHandlers(){const e=window.__marketing_uclick_link__.eventListener;document.removeEventListener("mousedown",e),document.removeEventListener("click",e),window.__marketing_uclick_link__.eventListener=null}
installHandlers('__MARKETING_UCLICK_LINK_CONFIG__');})();</script><script type="speculationrules" nonce="7c045196-9c90-4634-87c3-e5902fef999a">{"prerender":[{"source":"document","where":{"and":[{"href_matches":["https://m.uber.com/*\\?*(^|&)pickup*","https://m.uber.com/*\\?*(^|&)drop*"]},{"selector_matches":"[data-pudo-cta=\"true\"]"}]},"eagerness":"immediate"}]}</script><meta id="PRIVACY_BANNERS_GEO_IP" content="{\u0022countryCode\u0022:\u0022SG\u0022,\u0022isoCodes\u0022:[]}" /><meta id="maps-fallback" content="google" /><script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-uGEsvx8th0rj7t6JIP/Jh9gks7GETUsC87NUFORRpC3vJky5iZCUO5u2AUv7mjIa">(function (){function preloadInvokerInit(){"undefined"!=typeof window&&"function"==typeof window.fetch&&(window.__preload_cache_invoker__=function(n,o,e,w,i,d,t,r,c,l,a,f,p){window[e]=window[e]||{},window[e][w]=window[e][w]||{},window[e][w].start=window.performance?window.performance.now():null;const _={body:o,credentials:"include",headers:{"content-type":"application/json","x-csrf-token":"x"},method:"POST",mode:"cors"},s=a?`_${a}`:"",u=function(){if(f)return window[e][w]&&delete window[e][w],window?.__PUB_SUB__?.publish?.(`${n}${s}`,{skip:!0}),Promise.resolve();const o=p?"?localeCode="+encodeURIComponent(p):"";return fetch("/api/"+n+o,_).then((n=>n.json())).then((o=>{window[e][w].end=window.performance?window.performance.now():null,window[e][w].data=o,window?.__PUB_SUB__?.publish?.(`${n}${s}`,o),setTimeout((()=>{delete window[e][w]}),t||864e5)})).catch((()=>{delete window[e][w]}))};window[e][w].promise=!r||c&&!window[i]||!window[d]?u():window[d].then((function(n){if(!l||!l(n))return u();delete window[e][w]}))})}
preloadInvokerInit();})();</script><script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-SOSCxgXu6VbvoGyH0W+RXkZwo2dmtGeNAjcOikGzToast6PH33ax7qSMpfANMcFy">(function (){(async function () {
let args = "{}";
if (typeof window === 'undefined' || typeof window.fetch !== 'function' || typeof window.__preload_cache_invoker__ !== 'function') {
return;
}
window.__preload_cache_invoker__(
'getCurrentUser',
args,
'__preload_cache__',
"[\"getCurrentUser\",{},{\"chainWithBootstrap\":true,\"skipBootstrapOnNonEdgeCachedPages\":true,\"skipOnBootstrapCondition\":\"bootstrapData?.is_logged_in === false\"}]",
'__uber_edge_cache_enabled__',
'__uber_sites_bootstrap__',
undefined,
true,
true,
function (bootstrapData) { return bootstrapData?.is_logged_in === false; },
'',
false,
"en"
);
})()})();</script><script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-UEVxsZA2NIO/xwvozjA3fW/m5WercK7Sn1MViyQANbLZ5rx60lTKqeFM11hLZf5t">(function (){(async function () {
let args = "{\"xpParameter\":{\"defaultValue\":\"LEGACY\",\"key\":\"config.city_selector_variant\",\"namespace\":\"chameleon-experiments\"}}";
if (typeof window === 'undefined' || typeof window.fetch !== 'function' || typeof window.__preload_cache_invoker__ !== 'function') {
return;
}
window.__preload_cache_invoker__(
'getExperiments',
args,
'__preload_cache__',
"[\"getExperiments\",{\"xpParameter\":{\"defaultValue\":\"LEGACY\",\"key\":\"config.city_selector_variant\",\"namespace\":\"chameleon-experiments\"}},{}]",
'__uber_edge_cache_enabled__',
'__uber_sites_bootstrap__',
undefined,
undefined,
undefined,
function (bootstrapData) { return false; },
'',
false,
"en"
);
})()})();</script><meta data-rh="true" content="width=device-width, initial-scale=1" name="viewport"/><meta data-rh="true" content="🧠 Overload in stateful databases isn’t one-dimensional. See how we built an intelligent load manager that sheds smarter, adapts to diverse signals, and stays fair under pressure. Even better, this approach led to a ~70% reduction in P99 latency." name="description"/><meta data-rh="true" content="How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management" property="og:title"/><meta data-rh="true" content="🧠 Overload in stateful databases isn’t one-dimensional. See how we built an intelligent load manager that sheds smarter, adapts to diverse signals, and stays fair under pressure. Even better, this approach led to a ~70% reduction in P99 latency." property="og:description"/><meta data-rh="true" content="website" property="og:type"/><meta data-rh="true" content="https://www.uber.com/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/" property="og:url"/><meta data-rh="true" content="https://tb-static.uber.com/prod/udam-assets/94f73de9-13eb-58b9-a343-11e2ae1f0c94.jpg" property="og:image"/><meta data-rh="true" content="Uber" property="og:site_name"/><meta data-rh="true" content="summary" name="twitter:card"/><meta data-rh="true" content="@Uber" name="twitter:site"/><meta data-rh="true" content="368677368" name="twitter:app:id:iphone"/><meta data-rh="true" content="368677368" name="twitter:app:id:ipad"/><meta data-rh="true" content="com.ubercab" name="twitter:app:id:googleplay"/><link data-rh="true" href="/_static/99c4bc580c8b57b7.ico" rel="shortcut icon" type="image/x-icon"/><link data-rh="true" href="/_static/99c4bc580c8b57b7.ico" rel="icon" type="image/x-icon"/><link data-rh="true" href="/_static/bafeeed0a39bd111.png" rel="apple-touch-icon"/><link data-rh="true" href="/_static/d5cc2683f3e6439d.png" rel="apple-touch-icon"/><link data-rh="true" href="/_static/6abf4289b29727df.png" rel="apple-touch-icon" sizes="76x76"/><link data-rh="true" href="/_static/64b3a3562020ce13.png" rel="apple-touch-icon" sizes="120x120"/><link data-rh="true" href="/_static/64b3a3562020ce13.png" rel="apple-touch-icon" sizes="120x120"/><link data-rh="true" href="/_static/e866579cf618f063.png" rel="apple-touch-icon" sizes="144x144"/><link data-rh="true" href="/_static/169325435ed77d85.png" rel="apple-touch-icon" sizes="152x152"/><link data-rh="true" href="/_static/de0e97ed977ad313.png" rel="apple-touch-icon" sizes="180x180"/><link data-rh="true" href="https://www.uber.com/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/" rel="canonical"/><link data-rh="true" href="https://www.uber.com/ae/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-ae" rel="alternate"/><link data-rh="true" href="https://www.uber.com/sv/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-sv" rel="alternate"/><link data-rh="true" href="https://www.uber.com/hu/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-hu" rel="alternate"/><link data-rh="true" href="https://www.uber.com/lt/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-lt" rel="alternate"/><link data-rh="true" href="https://www.uber.com/au/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-au" rel="alternate"/><link data-rh="true" href="https://www.uber.com/pt/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-pt" rel="alternate"/><link data-rh="true" href="https://www.uber.com/il/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-il" rel="alternate"/><link data-rh="true" href="https://www.uber.com/qa/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-qa" rel="alternate"/><link data-rh="true" href="https://www.uber.com/bd/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-bd" rel="alternate"/><link data-rh="true" href="https://www.uber.com/gr/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-gr" rel="alternate"/><link data-rh="true" href="https://www.uber.com/tw/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-tw" rel="alternate"/><link data-rh="true" href="https://www.uber.com/gb/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-gb" rel="alternate"/><link data-rh="true" href="https://www.uber.com/co/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-co" rel="alternate"/><link data-rh="true" href="https://www.uber.com/ec/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-ec" rel="alternate"/><link data-rh="true" href="https://www.uber.com/bh/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-bh" rel="alternate"/><link data-rh="true" href="https://www.uber.com/kr/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-kr" rel="alternate"/><link data-rh="true" href="https://www.uber.com/pk/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-pk" rel="alternate"/><link data-rh="true" href="https://www.uber.com/ie/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-ie" rel="alternate"/><link data-rh="true" href="https://www.uber.com/dk/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-dk" rel="alternate"/><link data-rh="true" href="https://www.uber.com/py/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-py" rel="alternate"/><link data-rh="true" href="https://www.uber.com/jo/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-jo" rel="alternate"/><link data-rh="true" href="https://www.uber.com/sk/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-sk" rel="alternate"/><link data-rh="true" href="https://www.uber.com/ca/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-ca" rel="alternate"/><link data-rh="true" href="https://www.uber.com/gh/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-gh" rel="alternate"/><link data-rh="true" href="https://www.uber.com/nl/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-nl" rel="alternate"/><link data-rh="true" href="https://www.uber.com/uy/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-uy" rel="alternate"/><link data-rh="true" href="https://www.uber.com/ci/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-ci" rel="alternate"/><link data-rh="true" href="https://www.uber.com/at/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-at" rel="alternate"/><link data-rh="true" href="https://www.uber.com/za/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-za" rel="alternate"/><link data-rh="true" href="https://www.uber.com/fr/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-fr" rel="alternate"/><link data-rh="true" href="https://www.uber.com/ug/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-ug" rel="alternate"/><link data-rh="true" href="https://www.uber.com/no/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-no" rel="alternate"/><link data-rh="true" href="https://www.uber.com/cr/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-cr" rel="alternate"/><link data-rh="true" href="https://www.uber.com/tr/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-tr" rel="alternate"/><link data-rh="true" href="https://www.uber.com/fi/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-fi" rel="alternate"/><link data-rh="true" href="https://www.uber.com/in/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-in" rel="alternate"/><link data-rh="true" href="https://www.uber.com/es/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-es" rel="alternate"/><link data-rh="true" href="https://www.uber.com/mt/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-mt" rel="alternate"/><link data-rh="true" href="https://www.uber.com/kw/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-kw" rel="alternate"/><link data-rh="true" href="https://www.uber.com/lu/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-lu" rel="alternate"/><link data-rh="true" href="https://www.uber.com/pe/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-pe" rel="alternate"/><link data-rh="true" href="https://www.uber.com/jp/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-jp" rel="alternate"/><link data-rh="true" href="https://www.uber.com/be/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-be" rel="alternate"/><link data-rh="true" href="https://www.uber.com/sa/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-sa" rel="alternate"/><link data-rh="true" href="https://www.uber.com/br/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-br" rel="alternate"/><link data-rh="true" href="https://www.uber.com/se/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-se" rel="alternate"/><link data-rh="true" href="https://www.uber.com/hk/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-hk" rel="alternate"/><link data-rh="true" href="https://www.uber.com/ch/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-ch" rel="alternate"/><link data-rh="true" href="https://www.uber.com/mx/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-mx" rel="alternate"/><link data-rh="true" href="https://www.uber.com/gt/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-gt" rel="alternate"/><link data-rh="true" href="https://www.uber.com/si/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-si" rel="alternate"/><link data-rh="true" href="https://www.uber.com/hr/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-hr" rel="alternate"/><link data-rh="true" href="https://www.uber.com/do/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-do" rel="alternate"/><link data-rh="true" href="https://www.uber.com/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-us" rel="alternate"/><link data-rh="true" href="https://www.uber.com/eg/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-eg" rel="alternate"/><link data-rh="true" href="https://www.uber.com/iq/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-iq" rel="alternate"/><link data-rh="true" href="https://www.uber.com/ma/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-ma" rel="alternate"/><link data-rh="true" href="https://www.uber.com/jm/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-jm" rel="alternate"/><link data-rh="true" href="https://www.uber.com/pa/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-pa" rel="alternate"/><link data-rh="true" href="https://www.uber.com/ke/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-ke" rel="alternate"/><link data-rh="true" href="https://www.uber.com/nz/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-nz" rel="alternate"/><link data-rh="true" href="https://www.uber.com/rs/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-rs" rel="alternate"/><link data-rh="true" href="https://www.uber.com/bg/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-bg" rel="alternate"/><link data-rh="true" href="https://www.uber.com/ua/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-ua" rel="alternate"/><link data-rh="true" href="https://www.uber.com/hn/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-hn" rel="alternate"/><link data-rh="true" href="https://www.uber.com/lk/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-lk" rel="alternate"/><link data-rh="true" href="https://www.uber.com/it/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-it" rel="alternate"/><link data-rh="true" href="https://www.uber.com/cl/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-cl" rel="alternate"/><link data-rh="true" href="https://www.uber.com/pl/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-pl" rel="alternate"/><link data-rh="true" href="https://www.uber.com/de/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-de" rel="alternate"/><link data-rh="true" href="https://www.uber.com/ee/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-ee" rel="alternate"/><link data-rh="true" href="https://www.uber.com/cz/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-cz" rel="alternate"/><link data-rh="true" href="https://www.uber.com/ng/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-ng" rel="alternate"/><link data-rh="true" href="https://www.uber.com/tz/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-tz" rel="alternate"/><link data-rh="true" href="https://www.uber.com/ro/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-ro" rel="alternate"/><link data-rh="true" href="https://www.uber.com/lb/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-lb" rel="alternate"/><link data-rh="true" href="https://www.uber.com/mo/en/blog/from-static-rate-limiting-to-intelligent-load-management/" hreflang="en-mo" rel="alternate"/><style data-rh="true" >
.rich-lfc-content {
font-family: UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
font-weight: normal;
line-height: 24px;
color: #000000;
letter-spacing: 0;
min-width: 0;
}
.rich-bold {
font-weight: bold;
}
.rich-italic {
font-style: italic;
}
.rich-underline {
text-decoration: underline;
}
.rich-strikethrough {
text-decoration: line-through;
}
.rich-quote {
font-family: UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 20px;
font-weight: 700;
line-height: 28px;
border-inline-start-color: #E8E8E8;
border-inline-start-style: solid;
border-inline-start-width: 4px;
margin: 0;
padding-bottom: 16px;
padding-inline-start: 32px;
padding-top: 16px;
}
.rich-custom-quote {
font-family: UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 28px;
font-weight: 700;
line-height: 36px;
margin: 0 auto;
position: relative;
width: fit-content;
max-width: 80%;
}
.rich-custom-quote::before {
content: '"';
margin-inline-end: 4px;
}
.rich-custom-quote::after {
content: '"';
margin-inline-start: 4px;
}
.rich-float-clear {
clear: both;
}
.rich-image {
max-width: 100%;
height: auto;
}
.rich-figure {
margin: 20px 0;
max-width: 100%;
text-align: center;
}
.rich-figure img {
display: block;
height: auto;
margin-left: auto;
margin-right: auto;
max-width: 100%;
}
.rich-figure-caption {
font-family: UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 16px;
color: #4B4B4B;
margin-top: 8px;
text-align: center;
}
.rich-image-center {
display: block;
width: fit-content;
margin-bottom: 20px;
margin-top: 20px;
margin-left: auto;
margin-right: auto;
position: relative;
}
.rich-image-left {
float: left;
margin-right: 20px;
margin-top: 0;
position: relative;
}
.rich-image-right {
float: right;
margin-left: 20px;
margin-top: 0;
position: relative;
}
[dir='rtl'] .rich-image-left {
float: right;
margin-left: 20px;
margin-right: 0;
}
[dir='rtl'] .rich-image-right {
float: left;
margin-left: 0;
margin-right: 20px;
}
.rich-image-wrapper {
position: relative;
text-align: center;
}
.rich-video {
display: block;
aspect-ratio: 16 / 9;
height: auto;
margin: 20px auto;
max-width: 100%;
object-fit: contain;
object-position: center;
width: 100%;
}
.rich-table {
border-collapse: collapse;
width: 100%;
margin: 16px 0;
}
.rich-table-cell,
.rich-table-cell-header {
border: 2px solid #F3F3F3;
padding: 8px;
text-align: start;
}
.rich-table-cell-header {
background-color: #F3F3F3;
font-weight: bold;
}
.rich-lfc-content .rich-link-cta {
font-family: UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 20px;
display: inline-block;
margin-top: 12px;
padding: 12px 16px;
text-decoration: none;
border-radius: 8px;
background-color: #000000;
color: #FFFFFF;
transition: background-color 200ms cubic-bezier(.2, .8, .4, 1);
}
.rich-lfc-content .rich-link-cta:hover {
background-color: #282828;
color: #FFFFFF;
}
@media (max-width: 600px) {
.rich-image-left,
.rich-image-right {
float: none !important;
margin-left: auto !important;
margin-right: auto !important;
display: flex;
justify-content: center;
margin-top: 20px;
margin-bottom: 20px;
}
}
@media screen and (min-width: 600px) {
.rich-custom-quote {
font-family: UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 32px;
font-weight: 700;
line-height: 40px;
}
}
@media screen and (min-width: 1136px) {
.rich-custom-quote {
font-family: UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 36px;
font-weight: 700;
line-height: 44px;
}
}
.rich-heading-h1 {
font-family: UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 40px;
font-weight: 700;
line-height: 52px;
}
.rich-heading-h2 {
font-family: UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 36px;
font-weight: 700;
line-height: 44px;
}
.rich-heading-h3 {
font-family: UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 32px;
font-weight: 700;
line-height: 40px;
}
.rich-heading-h4 {
font-family: UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 28px;
font-weight: 700;
line-height: 36px;
}
.rich-heading-h5 {
font-family: UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 24px;
font-weight: 700;
line-height: 32px;
}
.rich-heading-h6 {
font-family: UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
font-weight: 500;
line-height: 16px;
}
.rich-link {
font-family: UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
font-weight: 500;
line-height: 20px;
font-size: inherit;
color: #000000;
cursor: pointer;
text-decoration: underline;
}
.rich-link:hover {
color: #276EF1;
}
.rich-paragraph {
font-family: UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
font-weight: normal;
line-height: 24px;
}
.rich-list-item {
font-family: UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
font-weight: normal;
line-height: 24px;
}
.rich-nested-list-item {
list-style-type: none;
}
.rich-table-cell,
.rich-table-cell-header {
font-family: UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 16px;
font-weight: normal;
line-height: 24px;
}
.rich-table tbody > tr {
border-bottom: none;
}
</style><style class="_styletron_hydrate_" data-hydrate="bzyevI PKJb jcwfVM cenKGv hSgrkT hNYSyH cxltSn jdmMfJ favjHz kNnmbO bEvpjW btbKrJ ePqIsi boIhmv UsIex beegqO idoxzA bWHXse coikQw hDdkid dWTxGR fCwhaC guiGWC kpjDOI hYZYtM jrSJdi hhSroJ jrSMTd kFHXBV iVVeIU erEjEB cndfHK cMGqfS kfoJzM hdjfHk kXvOCV kfGxPu dkkdtH gqcHgx hazmlH ofGld gMUoBL bVFrLX cpjRpJ gVWXrV dWBVmg dTqljZ lbyguR esMPmm hWkSKL bLZDAV flFEmG iJiqqk lWgfA cDENyl fXAxKR lpcwSG fRvJhN boizeY ZwMiT kubgwy jXIcbF fwSNZL ePDHQX lnLvkz iwUWAj eKMvCJ dluitZ fZMXzA gAzlNU eOLFUs kvlyqw dmqvLf hFtqPc gKOWma GWCtH daiOOU iacIfU bjVkCt jaByka bolAuU daInXa fVLpfI bnsMK jOhJVe jgmlEN cjHYHA iXmjNW hBnhgZ dODCLc HXvWP rjIkq dmEOyR iBZTkJ AnBpG bYGJej cDWyiW efdIWD hCxyXn dQXoUy huebvm ekbqzf FvMyi lfhXcE fdGxkK cLYIms fOpIi dLzUvf gzlAMi dKvrsS gBmvBw rwapI xdbDk dtzAnt dQDsac laJbgX dahbuC jgYIWw jAylDS kghkUG dhEXXW hJZDgX cGUJPV lWKHs dZTBoz bUfMjo drdOnW hTBogS uPqSX kZqllj ekKYDj jQOKxw cxExNw cKXFfR eTbQd bqPEQx etAiCK dHTgDT boSGMR fcoWDR gtGwaM gtXpje hByTyl kwWKra Yerqw kHWzwv fLCWQY ingCMH cCDVuf czUDWs iclDxs eUNfLQ eoiIol kVLeBt gLZtvz gowlgP fIxJXI jKvvYG hxCswv fhseOM dsWNMj bzLBFK dtrVZw iGtyFy jODDvp jJwUXi kwNuyP jeuDjw hxGQNi bpyykn cOsLzB eleJdh fPItWk lnzgHT bfYiUy bGyOjB gkIDnk bZnCM">.css-bzyevI{background-color:#ffffff;min-height:100%;}.css-jcwfVM{background-color:#ffffff;border:none;clip:rect(0 0 0 0);color:#0000EE;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;transform:translateY(-100%);-webkit-transition:transform 200ms ease-out;-moz-transition:transform 200ms ease-out;transition:transform 200ms ease-out;width:1px;}.css-jcwfVM:focus{-webkit-box-align:center;align-items:center;background-color:#ffffff;border:0;clip:initial;color:#0000EE;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;height:60px;-webkit-box-pack:center;justify-content:center;margin:0;overflow:visible;padding:0;position:relative;transform:translateY(0);-webkit-transition:transform 200ms ease-out;-moz-transition:transform 200ms ease-out;transition:transform 200ms ease-out;width:100%;z-index:2147483647;}.css-jcwfVM:hover{text-decoration:underline;}.css-cenKGv{display:inline;}@media screen and (min-width: 600px){.css-cenKGv{display:inline;}}@media screen and (min-width: 1136px){.css-cenKGv{display:inline;}}.css-hSgrkT{display:none;}.css-hNYSyH{display:none;}@media screen and (min-width: 320px){.css-hNYSyH{display:none;}}@media screen and (min-width: 600px){.css-hNYSyH{display:none;}}@media screen and (min-width: 1136px){.css-hNYSyH{display:inherit;}}.css-cxltSn{background:none;position:absolute;right:-16px;top:56px;}.css-jdmMfJ{display:-ms-grid;display:grid;-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1 / -1;grid-column-gap:40px;grid-row-gap:40px;-ms-grid-columns:repeat(12,1fr);grid-template-columns:repeat(12,1fr);position:relative;max-width:1136px;margin:0 auto;}.css-favjHz{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-left-width:0;border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-style:none;border-top-style:none;border-right-style:none;border-bottom-style:none;outline:none;box-sizing:border-box;box-shadow:none;text-decoration:none;-webkit-appearance:none;-webkit-transition-property:background;-moz-transition-property:background;transition-property:background;transition-duration:200ms;transition-timing-function:cubic-bezier(0, 0, 1, 1);cursor:pointer;margin-left:0;margin-top:0;margin-right:0;margin-bottom:0;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:16px;font-weight:500;line-height:20px;border-top-right-radius:50%;border-bottom-right-radius:50%;border-top-left-radius:50%;border-bottom-left-radius:50%;padding-top:14px;padding-bottom:14px;padding-left:14px;padding-right:14px;color:#000000;background-color:transparent;}.css-favjHz:disabled{cursor:not-allowed;background-color:#F3F3F3;color:#A6A6A6;}.css-favjHz:focus-visible{box-shadow:inset 0 0 0 2px #FFFFFF, 0 0 0 2px #276EF1 ;}@media (hover: hover){.css-favjHz:hover{box-shadow:inset 999px 999px 0px rgba(0, 0, 0, 0.04) ;}}.css-favjHz:active{box-shadow:inset 999px 999px 0px rgba(0, 0, 0, 0.08) ;}.css-kNnmbO{display:none;}@media screen and (min-width: 320px){.css-kNnmbO{display:none;}}@media screen and (min-width: 600px){.css-kNnmbO{display:none;}}@media screen and (min-width: 1136px){.css-kNnmbO{display:inherit;padding-top:128px;}}.css-bEvpjW{box-sizing:border-box;display:-ms-grid;display:grid;-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1 / -1;grid-column-gap:40px;grid-row-gap:12px;-ms-grid-columns:repeat(1, 1fr);grid-template-columns:repeat(1, 1fr);margin:0 auto;padding-bottom:64px;padding-left:24px;padding-right:24px;padding-top:40px;width:100%;}@media screen and (min-width: 1136px){.css-bEvpjW{grid-row-gap:40px;-ms-grid-columns:repeat(4, 1fr);grid-template-columns:repeat(4, 1fr);padding-left:0;padding-right:0;padding-top:0;width:1136px;}}.css-btbKrJ{-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1 / -1;padding-bottom:40px;}.css-ePqIsi{color:#000000;font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:700;font-size:28px;line-height:36px;margin:0;}@media screen and (min-width: 320px){.css-ePqIsi{font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:700;font-size:28px;line-height:36px;}}@media screen and (min-width: 600px){.css-ePqIsi{font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:700;font-size:28px;line-height:36px;}}@media screen and (min-width: 1136px){.css-ePqIsi{font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:700;font-size:36px;line-height:44px;}}.css-boIhmv{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:start;justify-content:start;border-left-width:0;border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-style:none;border-top-style:none;border-right-style:none;border-bottom-style:none;outline:none;box-sizing:border-box;box-shadow:none;text-decoration:none;-webkit-appearance:none;-webkit-transition-property:background;-moz-transition-property:background;transition-property:background;transition-duration:200ms;transition-timing-function:cubic-bezier(0, 0, 1, 1);cursor:pointer;margin-left:0;margin-top:0;margin-right:0;margin-bottom:0;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:18px;font-weight:500;line-height:24px;border-top-right-radius:8px;border-bottom-right-radius:8px;border-top-left-radius:8px;border-bottom-left-radius:8px;padding-top:16px;padding-bottom:16px;padding-left:20px;padding-right:20px;color:#000000;background-color:transparent;transform:translate3D(-20px, 0, 0);}.css-boIhmv:disabled{cursor:not-allowed;background-color:#F3F3F3;color:#A6A6A6;}.css-boIhmv:focus-visible{box-shadow:inset 0 0 0 2px #FFFFFF, 0 0 0 2px #276EF1 ;}@media (hover: hover){.css-boIhmv:hover{box-shadow:inset 999px 999px 0px rgba(0, 0, 0, 0.04) ;}}.css-boIhmv:active{box-shadow:inset 999px 999px 0px rgba(0, 0, 0, 0.08) ;}.css-UsIex{display:inherit;}@media screen and (min-width: 320px){.css-UsIex{display:inherit;}}@media screen and (min-width: 600px){.css-UsIex{display:inherit;}}@media screen and (min-width: 1136px){.css-UsIex{display:none;}}.css-beegqO{display:inherit;}.css-idoxzA{margin-top:0;margin-bottom:0;margin-left:0;overflow:auto;padding-top:0;padding-bottom:0;padding-left:24px;position:relative;outline:none;display:block;border-left:none;list-style:none;padding-right:24px;}.css-bWHXse{cursor:pointer;margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;overflow:auto;padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;position:relative;outline:none;}.css-coikQw{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;justify-content:space-between;width:100%;}.css-hDdkid{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;position:relative;width:100%;}.css-dWTxGR{height:24px;width:24px;margin-right:16px;}.css-fCwhaC{font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:32px;font-weight:700;line-height:40px;color:#000000;margin-bottom:16px;margin-top:16px;}.css-guiGWC{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;margin-top:-12px;position:absolute;right:0;top:50%;}.css-kpjDOI{height:100%;width:100%;}.css-hYZYtM{margin-top:0;margin-bottom:0;margin-left:0;overflow:auto;padding-top:0;padding-bottom:0;padding-left:6px;position:relative;outline:none;display:none;border-left:none;list-style:none;}.css-jrSJdi{cursor:auto;margin-top:0;margin-bottom:0;margin-left:0;margin-right:0;overflow:auto;padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;position:relative;outline:none;}.css-hhSroJ{background-color:transparent;color:#000000;font-size:16px;font-weight:500;line-height:16px;}.css-jrSMTd{background-color:transparent;color:#4B4B4B;font-size:14px;font-weight:400;line-height:22px;}.css-kFHXBV{color:#000000;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:inherit;font-weight:500;line-height:inherit;-webkit-transition-property:backgroundSize;-moz-transition-property:backgroundSize;transition-property:backgroundSize;transition-duration:500ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1);text-decoration:none;text-underline-position:under;will-change:background-size;background-size:0% 100%, 100% 100%;background-repeat:no-repeat;background-image:none;margin-left:36px;}.css-kFHXBV:hover{color:#4B4B4B;background-size:100% 100%, 100% 100%;}.css-kFHXBV:focus{outline:none;outline-offset:1px;text-decoration:none;}.css-kFHXBV:visited{color:#727272;}.css-kFHXBV:active{color:#5E5E5E;}.css-iVVeIU{color:#000000;font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:32px;font-weight:700;line-height:40px;background-image:none;background-repeat:no-repeat;background-size:0% 100%, 100% 100%;cursor:pointer;margin-bottom:16px;margin-top:16px;text-decoration:none;text-underline-position:under;transition-duration:500ms;-webkit-transition-property:backgroundSize;-moz-transition-property:backgroundSize;transition-property:backgroundSize;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1);width:100%;will-change:background-size;}.css-iVVeIU:active{color:#5E5E5E;}.css-iVVeIU:focus{outline:3px solid #276EF1;outline-offset:1px;text-decoration:none;}.css-iVVeIU:focus:not(:focus-visible){outline:none;}.css-iVVeIU:hover{background-size:100% 100%, 100% 100%;color:#4B4B4B;}.css-iVVeIU:visited{color:#000000;}.css-erEjEB{margin-top:0;margin-bottom:0;margin-left:14px;overflow:auto;padding-top:0;padding-bottom:0;padding-left:6px;position:relative;outline:none;display:none;border-left:none;list-style:none;}.css-cndfHK{display:none;padding-top:12px;padding-right:24px;padding-bottom:96px;padding-left:24px;}.css-cMGqfS{-webkit-box-align:center;align-items:center;display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;gap:6px;}.css-kfoJzM{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-left-width:0;border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-style:none;border-top-style:none;border-right-style:none;border-bottom-style:none;outline:none;box-sizing:border-box;box-shadow:none;text-decoration:none;-webkit-appearance:none;-webkit-transition-property:background;-moz-transition-property:background;transition-property:background;transition-duration:200ms;transition-timing-function:cubic-bezier(0, 0, 1, 1);cursor:pointer;margin-left:0;margin-top:0;margin-right:0;margin-bottom:0;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:500;line-height:16px;border-top-right-radius:999px;border-bottom-right-radius:999px;border-top-left-radius:999px;border-bottom-left-radius:999px;padding-top:10px;padding-bottom:10px;padding-left:12px;padding-right:12px;color:#000000;background-color:transparent;white-space:nowrap;}.css-kfoJzM:disabled{cursor:not-allowed;background-color:#F3F3F3;color:#A6A6A6;}.css-kfoJzM:focus-visible{box-shadow:inset 0 0 0 2px #FFFFFF, 0 0 0 2px #276EF1 ;}@media (hover: hover){.css-kfoJzM:hover{box-shadow:inset 999px 999px 0px rgba(0, 0, 0, 0.04) ;}}.css-kfoJzM:active{box-shadow:inset 999px 999px 0px rgba(0, 0, 0, 0.08) ;}.css-hdjfHk{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;margin-right:8px;}.css-kXvOCV{margin-bottom:64px;width:32px;}.css-kfGxPu{-webkit-box-align:center;align-items:center;border-bottom:1px solid #000000;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;justify-content:space-between;padding-bottom:40px;}.css-dkkdtH{width:90%;}.css-gqcHgx{background-color:#FFFFFF;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;position:relative;width:100%;height:auto;min-height:auto;max-height:auto;margin:0 auto;padding-top:0;padding-bottom:0;}@media screen and (min-width: 320px){.css-gqcHgx{padding-top:0;padding-bottom:0;}}@media screen and (min-width: 600px){.css-gqcHgx{padding-top:0;padding-bottom:0;}}@media screen and (min-width: 1136px){.css-gqcHgx{padding-top:0;padding-bottom:0;}}.css-hazmlH{background-position:center center;background-repeat:no-repeat;background-size:cover;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;position:relative;width:100%;height:auto;margin:0 auto;overflow:hidden;z-index:0;}.css-ofGld{width:100%;max-width:100%;margin-right:auto;margin-left:auto;padding-top:0;padding-bottom:0;align-self:flex-start;}@media screen and (min-width: 320px){.css-ofGld{max-width:100%;padding-top:0;padding-bottom:0;}}@media screen and (min-width: 600px){.css-ofGld{max-width:100%;padding-top:0;padding-bottom:0;}}@media screen and (min-width: 1136px){.css-ofGld{max-width:1280px;padding-top:0;padding-bottom:0;}}.css-gMUoBL{color:#000000;background-color:transparent;padding-top:40px;padding-right:24px;padding-bottom:40px;padding-left:24px;}@media screen and (min-width: 320px){.css-gMUoBL{padding-top:40px;padding-right:24px;padding-bottom:40px;padding-left:24px;}}@media screen and (min-width: 600px){.css-gMUoBL{padding-top:56px;padding-right:32px;padding-bottom:56px;padding-left:32px;}}@media screen and (min-width: 1136px){.css-gMUoBL{padding-top:64px;padding-right:64px;padding-bottom:64px;padding-left:64px;}}.css-bVFrLX{display:-ms-grid;display:grid;grid-column-gap:16px;grid-row-gap:36px;-ms-grid-columns:repeat(4, 1fr);grid-template-columns:repeat(4, 1fr);height:100%;justify-items:inherit;}@media screen and (min-width: 320px){.css-bVFrLX{grid-column-gap:16px;grid-row-gap:36px;-ms-grid-columns:repeat(4, 1fr);grid-template-columns:repeat(4, 1fr);}}@media screen and (min-width: 600px){.css-bVFrLX{grid-column-gap:36px;grid-row-gap:36px;-ms-grid-columns:repeat(8, 1fr);grid-template-columns:repeat(8, 1fr);}}@media screen and (min-width: 1136px){.css-bVFrLX{grid-column-gap:36px;grid-row-gap:36px;-ms-grid-columns:repeat(12, 1fr);grid-template-columns:repeat(12, 1fr);}}.css-cpjRpJ{-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1/-1;order:0;width:100%;-ms-grid-row-align:center;align-self:center;display:-ms-grid;display:grid;}@media screen and (min-width: 320px){.css-cpjRpJ{-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1/-1;}}@media screen and (min-width: 600px){.css-cpjRpJ{-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1/-1;}}@media screen and (min-width: 1136px){.css-cpjRpJ{grid-column:span 5;}}.css-gVWXrV{color:#000000;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:inherit;font-weight:500;line-height:inherit;-webkit-transition-property:backgroundSize;-moz-transition-property:backgroundSize;transition-property:backgroundSize;transition-duration:500ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1);text-decoration:none;text-underline-position:under;will-change:background-size;background-size:0% 100%, 100% 100%;background-repeat:no-repeat;background-image:none;}.css-gVWXrV:hover{color:#4B4B4B;background-size:100% 100%, 100% 100%;}.css-gVWXrV:focus{outline:none;outline-offset:1px;text-decoration:none;}.css-gVWXrV:visited{color:#727272;}.css-gVWXrV:active{color:#5E5E5E;}.css-dWBVmg{color:inherit;font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:700;font-size:36px;line-height:44px;}.css-dTqljZ{color:#000000;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:normal;font-size:16px;line-height:24px;}.css-lbyguR{-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1/-1;order:0;width:100%;-ms-grid-row-align:center;align-self:center;display:-ms-grid;display:grid;}@media screen and (min-width: 320px){.css-lbyguR{-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1/-1;}}@media screen and (min-width: 600px){.css-lbyguR{-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1/-1;}}@media screen and (min-width: 1136px){.css-lbyguR{grid-column:span 1;}}.css-esMPmm{font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:16px;font-weight:normal;line-height:24px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;padding-bottom:12px;padding-top:12px;border-bottom-width:0;border-bottom-style:solid;border-bottom-color:#F3F3F3;background-color:#000000;box-sizing:border-box;height:64px;padding-left:0;padding-right:0;position:relative;top:0;transition-duration:300ms;-webkit-transition-property:top;-moz-transition-property:top;transition-property:top;z-index:2002;}.css-hWkSKL{box-sizing:border-box;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:normal;justify-content:normal;margin-left:auto;margin-right:auto;max-width:calc(1280px + 64px*2);padding-left:64px;padding-right:64px;width:100%;}.css-bLZDAV{color:#FFFFFF;font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:20px;font-weight:400;line-height:112px;-webkit-transition-property:backgroundSize;-moz-transition-property:backgroundSize;transition-property:backgroundSize;transition-duration:500ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1);position:relative;text-decoration:none;text-underline-position:under;will-change:background-size;background-size:0% 100%, 100% 100%;background-repeat:no-repeat;background-image:none;-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;height:100%;text-align:left;top:0;white-space:nowrap;}.css-bLZDAV:hover{color:#FFFFFF;background-size:100% 100%, 100% 100%;}.css-bLZDAV:focus{outline:none;outline-offset:1px;text-decoration:none;}.css-bLZDAV:visited{color:#FFFFFF;}.css-bLZDAV:active{color:#FFFFFF;}@media screen and (min-width: 1136px){.css-bLZDAV{font-size:24px;}}.css-flFEmG{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-flex:1;flex-grow:1;flex-shrink:1;flex-basis:auto;padding-left:0 !important;padding-right:0 !important;justify-self:flex-start;-webkit-box-pack:start;justify-content:flex-start;list-style:none;margin-bottom:0;margin-top:0;margin-left:24px;margin-right:24px;overflow:hidden;padding-bottom:0 !important;padding-top:0 !important;visibility:hidden;}.css-flFEmG:first-child{padding:0;}.css-flFEmG:last-child{padding:0;}.css-iJiqqk{-ms-grid-row-align:center;align-self:center;padding-left:0;margin-bottom:0;visibility:inherit;padding-right:4px;}.css-lWgfA{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-left-width:0;border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-style:none;border-top-style:none;border-right-style:none;border-bottom-style:none;outline:none;box-sizing:border-box;box-shadow:none;text-decoration:none;-webkit-appearance:none;-webkit-transition-property:background;-moz-transition-property:background;transition-property:background;transition-duration:200ms;transition-timing-function:cubic-bezier(0, 0, 1, 1);cursor:pointer;margin-left:0;margin-top:0;margin-right:0;margin-bottom:0;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:500;line-height:16px;border-top-right-radius:999px;border-bottom-right-radius:999px;border-top-left-radius:999px;border-bottom-left-radius:999px;padding-top:10px;padding-bottom:10px;padding-left:12px;padding-right:12px;color:#FFFFFF;background-color:#000000;white-space:nowrap;}.css-lWgfA:disabled{cursor:not-allowed;background-color:#F3F3F3;color:#A6A6A6;}.css-lWgfA:focus-visible{box-shadow:inset 0 0 0 2px #FFFFFF, 0 0 0 2px #276EF1 ;}@media (hover: hover){.css-lWgfA:hover{box-shadow:inset 999px 999px 0px rgba(255, 255, 255, 0.1) ;}}.css-lWgfA:active{box-shadow:inset 999px 999px 0px rgba(255, 255, 255, 0.2) ;}.css-cDENyl{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;margin-left:8px;}.css-fXAxKR{direction:ltr;display:-ms-grid;display:grid;grid-column-gap:36px;-ms-grid-columns:2fr 1fr ;grid-template-columns:2fr 1fr ;}.css-lpcwSG{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;}.css-fRvJhN{-webkit-box-align:center;align-items:center;background-image:-webkit-linear-gradient(
transparent calc(100% - 1px),
#000000 1px
),
-webkit-linear-gradient(
transparent calc(100% - 1px),
#E5E5E5 1px
)
;background-image:-moz-linear-gradient(
transparent calc(100% - 1px),
#000000 1px
),
-moz-linear-gradient(
transparent calc(100% - 1px),
#E5E5E5 1px
)
;background-image:linear-gradient(
transparent calc(100% - 1px),
#000000 1px
),
linear-gradient(
transparent calc(100% - 1px),
#E5E5E5 1px
)
;background-position:0px calc(100% - 1px), 0px calc(100% - 1px);background-repeat:no-repeat;background-size:0% 6px, 100% 6px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;flex:0 0 auto;padding:0 0 24px;-webkit-transition:all 400ms cubic-bezier(.2, .8, .4, 1);-moz-transition:all 400ms cubic-bezier(.2, .8, .4, 1);transition:all 400ms cubic-bezier(.2, .8, .4, 1);}.css-boizeY{display:inline-block;margin-right:12px;height:24px;width:24px;}.css-ZwMiT{display:block;height:100%;transform:scaleX(1);width:100%;}.css-kubgwy{font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:24px;font-weight:700;line-height:24px;background-color:transparent;color:#000000;}.css-jXIcbF{display:-ms-grid;display:grid;flex:0 0 auto;grid-auto-flow:column;grid-column-gap:36px;grid-row-gap:24px;-ms-grid-columns:repeat(2, 1fr);grid-template-columns:repeat(2, 1fr);-ms-grid-rows:repeat(5, auto);grid-template-rows:repeat(5, auto);max-width:576px;padding-top:30px;}.css-fwSNZL{color:#000000;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:inherit;font-weight:500;line-height:inherit;-webkit-transition-property:backgroundSize;-moz-transition-property:backgroundSize;transition-property:backgroundSize;transition-duration:500ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1);text-decoration:none;text-underline-position:under;will-change:background-size;background-size:0% 100%, 100% 100%;background-repeat:no-repeat;background-image:none;background-color:transparent;display:block;}.css-fwSNZL:hover{color:#5E5E5E !important;background-size:100% 100%, 100% 100%;}.css-fwSNZL:focus{outline:none;outline-offset:1px;text-decoration:none;}.css-fwSNZL:visited{color:#000000;}.css-fwSNZL:active{color:#5E5E5E;}.css-ePDHQX{background-color:transparent;margin:12px 0 0;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:normal;line-height:20px;color:#4B4B4B;}.css-lnLvkz{color:#000000;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:normal;font-size:14px;line-height:20px;}.css-iwUWAj{display:-ms-grid;display:grid;flex:0 0 auto;grid-auto-flow:column;grid-column-gap:36px;grid-row-gap:24px;-ms-grid-columns:repeat(1, 1fr);grid-template-columns:repeat(1, 1fr);-ms-grid-rows:repeat(4, auto);grid-template-rows:repeat(4, auto);max-width:288px;padding-top:30px;}.css-eKMvCJ{-ms-grid-row-align:center;align-self:center;padding-left:0;margin-bottom:0;visibility:hidden;padding-right:4px;}.css-dluitZ{background-color:#FFFFFF;position:relative;margin-top:0;margin-bottom:0;margin-left:-3px;margin-right:-3px;padding-top:8px;padding-bottom:8px;padding-left:0;padding-right:0;border-top-left-radius:8px;border-top-right-radius:8px;border-bottom-right-radius:8px;border-bottom-left-radius:8px;box-shadow:0 4px 16px hsla(0, 0%, 0%, 0.16);overflow:auto;min-width:192px;}.css-dluitZ:focus{outline:none;}.css-fZMXzA{font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:normal;line-height:20px;position:relative;display:block;color:#A6A6A6;text-align:center;cursor:not-allowed;background-color:transparent;margin-bottom:0;padding-top:24px;padding-bottom:24px;padding-right:24px;padding-left:24px;}.css-gAzlNU{position:absolute;top:0;left:0;width:1px;height:1px;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0;margin-top:-1px;margin-right:-1px;margin-bottom:-1px;margin-left:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-width:0;border-top-style:none;border-right-style:none;border-bottom-style:none;border-left-style:none;}.css-eOLFUs{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-flex:0;flex-grow:0;flex-shrink:0;flex-basis:auto;padding-left:24px;padding-right:24px;justify-self:flex-end;-webkit-box-pack:end;justify-content:flex-end;list-style:none;margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.css-eOLFUs:first-child{padding:0;}.css-eOLFUs:last-child{padding:0;}.css-kvlyqw{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-left-width:0;border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-style:none;border-top-style:none;border-right-style:none;border-bottom-style:none;outline:none;box-sizing:border-box;box-shadow:none;text-decoration:none;-webkit-appearance:none;-webkit-transition-property:background;-moz-transition-property:background;transition-property:background;transition-duration:200ms;transition-timing-function:cubic-bezier(0, 0, 1, 1);cursor:pointer;margin-left:0;margin-top:0;margin-right:0;margin-bottom:0;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:500;line-height:16px;border-top-right-radius:999px;border-bottom-right-radius:999px;border-top-left-radius:999px;border-bottom-left-radius:999px;padding-top:10px;padding-bottom:10px;padding-left:12px;padding-right:12px;color:#FFFFFF;background-color:#000000;overflow:hidden;position:relative;}.css-kvlyqw:disabled{cursor:not-allowed;background-color:#F3F3F3;color:#A6A6A6;}.css-kvlyqw:focus-visible{box-shadow:inset 0 0 0 2px #FFFFFF, 0 0 0 2px #276EF1 ;}@media (hover: hover){.css-kvlyqw:hover{box-shadow:inset 999px 999px 0px rgba(255, 255, 255, 0.1) ;}}.css-kvlyqw:active{box-shadow:inset 999px 999px 0px rgba(255, 255, 255, 0.2) ;}.css-kvlyqw::before{background:-webkit-linear-gradient(to bottom right, #CBCBCB, #E2E2E2 50%, #CBCBCB) no-repeat;background:-moz-linear-gradient(to bottom right, #CBCBCB, #E2E2E2 50%, #CBCBCB) no-repeat;background:linear-gradient(to bottom right, #CBCBCB, #E2E2E2 50%, #CBCBCB) no-repeat;bottom:0;content:"";left:0;position:absolute;right:0;top:0;}.css-dmqvLf{-ms-grid-row-align:center;align-self:center;padding-left:0;margin-bottom:0;visibility:inherit;}@media screen and (min-width: 320px){.css-dmqvLf{padding-right:4px;}}@media screen and (min-width: 600px){.css-dmqvLf{padding-right:4px;}}@media screen and (min-width: 1136px){.css-dmqvLf{padding-right:0;}}.css-hFtqPc{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-left-width:0;border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-style:none;border-top-style:none;border-right-style:none;border-bottom-style:none;outline:none;box-sizing:border-box;box-shadow:none;text-decoration:none;-webkit-appearance:none;-webkit-transition-property:background;-moz-transition-property:background;transition-property:background;transition-duration:200ms;transition-timing-function:cubic-bezier(0, 0, 1, 1);cursor:pointer;margin-left:0;margin-top:0;margin-right:0;margin-bottom:0;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:500;line-height:16px;border-top-right-radius:999px;border-bottom-right-radius:999px;border-top-left-radius:999px;border-bottom-left-radius:999px;padding-top:10px;padding-bottom:10px;padding-left:12px;padding-right:12px;color:#000000;background-color:#FFFFFF;white-space:nowrap;overflow:hidden;position:relative;}.css-hFtqPc:disabled{cursor:not-allowed;background-color:#F3F3F3;color:#A6A6A6;}.css-hFtqPc:focus-visible{box-shadow:inset 0 0 0 2px #FFFFFF, 0 0 0 2px #276EF1 ;}@media (hover: hover){.css-hFtqPc:hover{box-shadow:inset 999px 999px 0px rgba(255, 255, 255, 0.1) ;}}.css-hFtqPc:active{box-shadow:inset 999px 999px 0px rgba(255, 255, 255, 0.2) ;}.css-hFtqPc:focus{background-color:#E2E2E2;color:#000000;}.css-hFtqPc:hover{background-color:#E2E2E2;color:#000000;}.css-hFtqPc::before{background:-webkit-linear-gradient(to bottom right, #CBCBCB, #E2E2E2 50%, #CBCBCB) no-repeat;background:-moz-linear-gradient(to bottom right, #CBCBCB, #E2E2E2 50%, #CBCBCB) no-repeat;background:linear-gradient(to bottom right, #CBCBCB, #E2E2E2 50%, #CBCBCB) no-repeat;bottom:0;content:"";left:0;position:absolute;right:0;top:0;}.css-gKOWma{background-color:#FFFFFF;border-radius:12px;box-shadow:0px 4px 16px rgba(0, 0, 0, 0.12);list-style-type:none;margin:0;padding:8px;}.css-GWCtH{padding:12px 16px;font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:20px;font-weight:700;line-height:28px;-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;gap:24px;-webkit-box-pack:justify;justify-content:space-between;}.css-daiOOU{width:16px;}.css-iacIfU{color:#000000;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:inherit;font-weight:500;line-height:inherit;-webkit-transition-property:backgroundSize;-moz-transition-property:backgroundSize;transition-property:backgroundSize;transition-duration:500ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1);text-decoration:none;text-underline-position:under;will-change:background-size;background-size:0% 100%, 100% 100%;background-repeat:no-repeat;background-image:none;border-radius:4px;display:block;}.css-iacIfU:hover{color:#4B4B4B;background-size:100% 100%, 100% 100%;}.css-iacIfU:focus{outline:none;outline-offset:1px;text-decoration:none;}.css-iacIfU:visited{color:#000000;}.css-iacIfU:active{color:#5E5E5E;}.css-iacIfU:focus:not(:focus-visible){outline:none;}.css-iacIfU:focus-visible{outline:3px solid #276EF1;outline-offset:2px;}.css-bjVkCt{box-sizing:border-box;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:justify;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:calc(1280px + 24px*2);padding-left:24px;padding-right:24px;width:100%;}.css-jaByka{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-flex:0;flex-grow:0;flex-shrink:0;flex-basis:auto;padding-left:24px;padding-right:24px;justify-self:flex-end;-webkit-box-pack:end;justify-content:flex-end;list-style:none;margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;transform:translateX(14px);}.css-jaByka:first-child{padding:0;}.css-jaByka:last-child{padding:0;}.css-bolAuU{-ms-grid-row-align:center;align-self:center;padding-left:0;margin-bottom:0;visibility:inherit;padding-right:0;}.css-daInXa{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-left-width:0;border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-style:none;border-top-style:none;border-right-style:none;border-bottom-style:none;outline:none;box-sizing:border-box;box-shadow:none;text-decoration:none;-webkit-appearance:none;-webkit-transition-property:background;-moz-transition-property:background;transition-property:background;transition-duration:200ms;transition-timing-function:cubic-bezier(0, 0, 1, 1);cursor:pointer;margin-left:0;margin-top:0;margin-right:0;margin-bottom:0;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:500;line-height:16px;border-top-right-radius:50%;border-bottom-right-radius:50%;border-top-left-radius:50%;border-bottom-left-radius:50%;padding-top:10px;padding-bottom:10px;padding-left:10px;padding-right:10px;color:#FFFFFF;background-color:#000000;}.css-daInXa:disabled{cursor:not-allowed;background-color:#F3F3F3;color:#A6A6A6;}.css-daInXa:focus-visible{box-shadow:inset 0 0 0 2px #FFFFFF, 0 0 0 2px #276EF1 ;}@media (hover: hover){.css-daInXa:hover{box-shadow:inset 999px 999px 0px rgba(255, 255, 255, 0.1) ;}}.css-daInXa:active{box-shadow:inset 999px 999px 0px rgba(255, 255, 255, 0.2) ;}.css-fVLpfI{color:#000000;background-color:#FFFFFF;padding-top:40px;padding-right:24px;padding-bottom:40px;padding-left:24px;}@media screen and (min-width: 320px){.css-fVLpfI{padding-top:40px;padding-right:24px;padding-bottom:40px;padding-left:24px;}}@media screen and (min-width: 600px){.css-fVLpfI{padding-top:56px;padding-right:32px;padding-bottom:56px;padding-left:32px;}}@media screen and (min-width: 1136px){.css-fVLpfI{padding-top:64px;padding-right:64px;padding-bottom:64px;padding-left:64px;}}.css-bnsMK{-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1/-1;order:0;width:100%;-ms-grid-row-align:center;align-self:center;display:-ms-grid;display:grid;}@media screen and (min-width: 320px){.css-bnsMK{-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1/-1;}}@media screen and (min-width: 600px){.css-bnsMK{-ms-grid-column:2;-ms-grid-column-span:-4;grid-column:2 / -2;}}@media screen and (min-width: 1136px){.css-bnsMK{-ms-grid-column:3;-ms-grid-column-span:-6;grid-column:3 / -3;}}.css-jOhJVe{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;justify-content:center;width:100%;}.css-jgmlEN{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-flex:1;flex-grow:1;-webkit-box-pack:start;justify-content:start;width:100%;}@media screen and (min-width: 1136px){.css-jgmlEN{-webkit-box-pack:start;justify-content:flex-start;}}.css-cjHYHA{margin:4px;min-width:128px;}.css-iXmjNW{display:none;}@media screen and (min-width: 1136px){.css-iXmjNW{display:-ms-grid;display:grid;grid-column:span 1;}}.css-hBnhgZ{background-color:#000000;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;position:relative;width:100%;height:auto;min-height:auto;max-height:auto;margin:0 auto;padding-top:0;padding-bottom:0;}@media screen and (min-width: 320px){.css-hBnhgZ{padding-top:0;padding-bottom:0;}}@media screen and (min-width: 600px){.css-hBnhgZ{padding-top:0;padding-bottom:0;}}@media screen and (min-width: 1136px){.css-hBnhgZ{padding-top:0;padding-bottom:0;}}.css-dODCLc{align-self:flex-start;width:100%;max-width:100%;padding-top:40px;padding-right:24px;padding-bottom:40px;padding-left:24px;}@media screen and (min-width: 320px){.css-dODCLc{max-width:100%;padding-top:40px;padding-right:24px;padding-bottom:40px;padding-left:24px;}}@media screen and (min-width: 600px){.css-dODCLc{max-width:100%;padding-top:56px;padding-right:32px;padding-bottom:56px;padding-left:32px;}}@media screen and (min-width: 1136px){.css-dODCLc{max-width:1152px;padding-top:64px;padding-right:64px;padding-bottom:64px;padding-left:64px;}}.css-HXvWP{-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1/-1;order:0;width:100%;-ms-grid-row-align:center;align-self:center;display:-ms-grid;display:grid;}.css-rjIkq{grid-column:span 12;order:0;width:100%;-ms-grid-row-align:center;align-self:center;display:-ms-grid;display:grid;}@media screen and (min-width: 320px){.css-rjIkq{grid-column:span 12;}}@media screen and (min-width: 600px){.css-rjIkq{grid-column:span 8;}}.css-dmEOyR{color:#FFFFFF;font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:20px;font-weight:400;line-height:112px;-webkit-transition-property:backgroundSize;-moz-transition-property:backgroundSize;transition-property:backgroundSize;transition-duration:500ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1);position:relative;text-decoration:none;text-underline-position:under;will-change:background-size;background-size:0% 100%, 100% 100%;background-repeat:no-repeat;background-image:none;-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;height:100%;text-align:left;top:0;white-space:nowrap;}.css-dmEOyR:hover{color:#FFFFFF;background-size:100% 100%, 100% 100%;}.css-dmEOyR:focus{outline:3px solid #276EF1;outline-offset:1px;text-decoration:none;}.css-dmEOyR:visited{color:#FFFFFF;}.css-dmEOyR:active{color:#FFFFFF;}@media screen and (min-width: 1136px){.css-dmEOyR{font-size:24px;}}.css-iBZTkJ{color:#FFFFFF;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:inherit;font-weight:400;line-height:1;-webkit-transition-property:backgroundSize;-moz-transition-property:backgroundSize;transition-property:backgroundSize;transition-duration:500ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1);position:relative;text-decoration:none;text-underline-position:under;will-change:background-size;background-size:0% 100%, 100% 100%;background-repeat:no-repeat;background-image:none;display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;height:100%;margin-bottom:0;top:0;}.css-iBZTkJ:hover{color:#FFFFFF;background-size:100% 100%, 100% 100%;}.css-iBZTkJ:focus{outline:3px solid #276EF1;outline-offset:1px;text-decoration:none;color:#FFFFFF;}.css-iBZTkJ:visited{color:#FFFFFF;}.css-iBZTkJ:active{color:#5E5E5E;}@media screen and (min-width: 1136px){.css-iBZTkJ{margin-bottom:48px;}}.css-AnBpG{color:inherit;margin-bottom:0;margin-top:0;padding-bottom:2px;position:relative;}.css-AnBpG:focus:after{background:#FFFFFF;bottom:0;color:#FFFFFF;content:'';height:1px;left:0;position:absolute;right:0;width:100%;}.css-AnBpG:hover:after{background:#FFFFFF;bottom:0;color:#FFFFFF;content:'';height:1px;left:0;position:absolute;right:0;width:100%;}.css-bYGJej{grid-column:span 12;height:100%;}@media screen and (min-width: 320px){.css-bYGJej{grid-column:span 12;}}@media screen and (min-width: 600px){.css-bYGJej{grid-column:span 4;}}.css-cDWyiW{list-style-type:none;margin:0;-webkit-padding-start:0;-moz-padding-start:0;padding-inline-start:0;padding-left:0;}.css-efdIWD{-webkit-box-align:start;align-items:flex-start;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;grid-auto-flow:row;grid-column:span 3;width:100%;}.css-hCxyXn{margin-bottom:16px;}.css-dQXoUy{color:#FFFFFF;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:500;font-size:18px;line-height:24px;margin-bottom:20px;}.css-huebvm{color:#FFFFFF;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:inherit;font-weight:500;line-height:inherit;-webkit-transition-property:backgroundSize;-moz-transition-property:backgroundSize;transition-property:backgroundSize;transition-duration:500ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1);text-decoration:none;text-underline-position:under;will-change:background-size;background-size:0% 100%, 100% 100%;background-repeat:no-repeat;background-image:none;cursor:pointer;display:block;margin-bottom:16px;margin-top:0;padding-top:0;}.css-huebvm:hover{color:#AFAFAF;background-size:100% 100%, 100% 100%;text-decoration:none;}.css-huebvm:focus{outline:none;outline-offset:1px;text-decoration:none;}.css-huebvm:visited{color:#FFFFFF;text-decoration:none;}.css-huebvm:active{color:#5E5E5E;}.css-huebvm:focus:not(:focus-visible){outline:none;}.css-huebvm:focus-visible{color:#AFAFAF;outline:3px solid #276EF1;text-decoration:none;}.css-ekbqzf{color:inherit;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:normal;font-size:14px;line-height:20px;margin-top:0;margin-bottom:0;}.css-FvMyi{display:-ms-grid;display:grid;grid-auto-flow:column;grid-column:span 6;-webkit-box-pack:left;justify-content:left;justify-items:start;list-style-type:none;margin:0;padding-bottom:12px;padding-left:0;padding-top:12px;transform:translateX(-12px);}.css-lfhXcE{display:-ms-grid;display:grid;grid-auto-flow:row;-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1/-1;-webkit-box-pack:left;justify-content:left;justify-items:start;list-style-type:none;margin:0;padding-left:0;transform:translateX(-12px);width:100%;}@media screen and (min-width: 1136px){.css-lfhXcE{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;grid-auto-flow:column;grid-column:span 6;-webkit-box-pack:end;justify-content:end;}}.css-fdGxkK{display:-ms-grid;display:grid;grid-auto-flow:column;grid-column:span 6;width:100%;}.css-cLYIms{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-left-width:0;border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-style:none;border-top-style:none;border-right-style:none;border-bottom-style:none;outline:none;box-sizing:border-box;box-shadow:none;text-decoration:none;-webkit-appearance:none;-webkit-transition-property:background;-moz-transition-property:background;transition-property:background;transition-duration:200ms;transition-timing-function:cubic-bezier(0, 0, 1, 1);cursor:pointer;margin-left:0;margin-top:0;margin-right:0;margin-bottom:0;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:16px;font-weight:500;line-height:20px;border-top-right-radius:8px;border-bottom-right-radius:8px;border-top-left-radius:8px;border-bottom-left-radius:8px;padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;color:#FFFFFF;background-color:#000000;height:48px;width:48px;}.css-cLYIms:disabled{cursor:not-allowed;background-color:#F3F3F3;color:#A6A6A6;}.css-cLYIms:focus-visible{box-shadow:inset 0 0 0 2px #FFFFFF, 0 0 0 2px #276EF1 ;}@media (hover: hover){.css-cLYIms:hover{box-shadow:inset 999px 999px 0px rgba(255, 255, 255, 0.1) ;}}.css-cLYIms:active{box-shadow:inset 999px 999px 0px rgba(255, 255, 255, 0.2) ;}.css-fOpIi{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-left-width:0;border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-style:none;border-top-style:none;border-right-style:none;border-bottom-style:none;outline:none;box-sizing:border-box;box-shadow:none;text-decoration:none;-webkit-appearance:none;-webkit-transition-property:background;-moz-transition-property:background;transition-property:background;transition-duration:200ms;transition-timing-function:cubic-bezier(0, 0, 1, 1);cursor:pointer;margin-left:0;margin-top:0;margin-right:0;margin-bottom:0;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:500;line-height:16px;border-top-right-radius:8px;border-bottom-right-radius:8px;border-top-left-radius:8px;border-bottom-left-radius:8px;padding-top:10px;padding-bottom:10px;padding-left:12px;padding-right:12px;color:#FFFFFF;background-color:#000000;}.css-fOpIi:disabled{cursor:not-allowed;background-color:#F3F3F3;color:#A6A6A6;}.css-fOpIi:focus-visible{box-shadow:inset 0 0 0 2px #FFFFFF, 0 0 0 2px #276EF1 ;}@media (hover: hover){.css-fOpIi:hover{box-shadow:inset 999px 999px 0px rgba(255, 255, 255, 0.1) ;}}.css-fOpIi:active{box-shadow:inset 999px 999px 0px rgba(255, 255, 255, 0.2) ;}.css-dLzUvf{color:#000000;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:inherit;font-weight:500;line-height:inherit;-webkit-transition-property:backgroundSize;-moz-transition-property:backgroundSize;transition-property:backgroundSize;transition-duration:500ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1);text-decoration:underline;text-underline-position:under;will-change:background-size;background-size:0% 100%, 100% 100%;background-repeat:no-repeat;background-image:none;}.css-dLzUvf:hover{color:#4B4B4B;background-size:100% 100%, 100% 100%;}.css-dLzUvf:focus{outline:none;outline-offset:1px;text-decoration:none;}.css-dLzUvf:visited{color:#727272;}.css-dLzUvf:active{color:#5E5E5E;}.css-gzlAMi{grid-column:span 3;order:0;width:100%;-ms-grid-row-align:center;align-self:center;display:-ms-grid;display:grid;}.css-dKvrsS{color:#AFAFAF;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:normal;font-size:12px;line-height:20px;}.css-gBmvBw{grid-column:span 5;order:0;width:100%;-ms-grid-row-align:center;align-self:center;display:-ms-grid;display:grid;}.css-rwapI{display:-ms-grid;display:grid;grid-auto-flow:column;-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1/-1;list-style-type:none;margin:0;padding-left:0;}@media screen and (min-width: 1136px){.css-rwapI{grid-gap:32px;-webkit-box-pack:end;justify-content:end;}}.css-xdbDk{color:#AFAFAF;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:inherit;font-weight:500;line-height:inherit;-webkit-transition-property:backgroundSize;-moz-transition-property:backgroundSize;transition-property:backgroundSize;transition-duration:500ms;transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1);text-decoration:none;text-underline-position:under;will-change:background-size;background-size:0% 100%, 100% 100%;background-repeat:no-repeat;background-image:none;cursor:pointer;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;margin-bottom:16px;}.css-xdbDk:hover{color:#FFFFFF;background-size:100% 100%, 100% 100%;}.css-xdbDk:focus{outline:3px solid #276EF1;outline-offset:1px;text-decoration:none;}.css-xdbDk:visited{color:#727272;}.css-xdbDk:active{color:#5E5E5E;}.css-dtzAnt{color:inherit;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:normal;font-size:12px;line-height:20px;margin-top:0;margin-bottom:0;}.css-dQDsac{font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:20px;font-weight:700;line-height:28px;margin-bottom:24px;}@media screen and (min-width: 600px){.css-dQDsac{font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:24px;font-weight:700;line-height:32px;}}.css-laJbgX{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-lines:multiple;flex-wrap:wrap;gap:6px;}.css-dahbuC{color:inherit;text-decoration:none;}.css-jgYIWw{font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:14px;font-weight:500;line-height:16px;-webkit-box-align:center;align-items:center;color:#175BCC;background-color:#EFF4FE;border-left-style:solid;border-right-style:solid;border-top-style:solid;border-bottom-style:solid;border-left-width:0;border-right-width:0;border-top-width:0;border-bottom-width:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:4px;border-bottom-left-radius:4px;box-sizing:border-box;cursor:pointer;display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;height:24px;-webkit-box-pack:justify;justify-content:space-between;margin-top:5px;margin-bottom:5px;margin-left:5px;margin-right:5px;padding-top:4px;padding-bottom:4px;padding-left:6px;padding-right:6px;outline:none;margin:0;}.css-jAylDS{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:auto;order:0;}.css-kghkUG{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;justify-content:center;}.css-dhEXXW{-webkit-box-align:center;align-items:center;display:-ms-grid;display:grid;gap:16px;-webkit-box-pack:center;justify-content:center;width:100%;}@media screen and (min-width: 1136px){.css-dhEXXW{gap:24px;}}.css-hJZDgX{color:#000000;background-color:#FFFFFF;padding-top:40px;padding-right:24px;padding-bottom:0;padding-left:24px;}@media screen and (min-width: 320px){.css-hJZDgX{padding-top:40px;padding-right:24px;padding-bottom:0;padding-left:24px;}}@media screen and (min-width: 600px){.css-hJZDgX{padding-top:56px;padding-right:32px;padding-bottom:0;padding-left:32px;}}@media screen and (min-width: 1136px){.css-hJZDgX{padding-top:64px;padding-right:64px;padding-bottom:0;padding-left:64px;}}.css-cGUJPV{-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1/-1;order:0;width:100%;-ms-grid-row-align:center;align-self:center;display:-ms-grid;display:grid;-webkit-box-align:center;align-items:center;gap:24px;}@media screen and (min-width: 600px){.css-cGUJPV{gap:36px;}}@media screen and (min-width: 1136px){.css-cGUJPV{gap:64px;}}.css-lWKHs{margin:0 auto;}.css-dZTBoz{color:#000000;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:500;font-size:18px;line-height:24px;}.css-bUfMjo{font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:36px;font-weight:700;line-height:44px;margin:0;text-align:center;}@media screen and (min-width: 600px){.css-bUfMjo{font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:36px;font-weight:700;line-height:44px;}}@media screen and (min-width: 1136px){.css-bUfMjo{font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:52px;font-weight:700;line-height:64px;}}.css-drdOnW{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-lines:multiple;flex-wrap:wrap;gap:16px;-webkit-box-pack:center;justify-content:center;}.css-hTBogS{-webkit-box-align:center;align-items:center;background-color:#E8E8E8;border-radius:192px;color:#000000;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;font-size:14px;font-weight:normal;height:36px;-webkit-box-pack:center;justify-content:center;min-width:36px;width:36px;}.css-uPqSX{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-pack:justify;justify-content:space-between;padding-left:16px;padding-right:16px;}.css-kZqllj{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;gap:16px;}.css-ekKYDj{-webkit-box-align:start;align-items:flex-start;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;gap:2px;-webkit-box-pack:center;justify-content:center;}.css-jQOKxw{background-color:#000000;border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:50%;box-sizing:border-box;display:inline-block;height:40px;width:40px;}.css-cxExNw{border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:50%;box-sizing:border-box;display:none;height:40px;width:40px;object-fit:cover;}.css-cKXFfR{font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:16px;font-weight:normal;line-height:24px;color:#FFFFFF;-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;justify-content:center;height:100%;}.css-eTbQd{color:#000000;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:500;font-size:16px;line-height:20px;}.css-bqPEQx{aspect-ratio:auto 6016/4010;max-width:1312px;width:100%;}.css-etAiCK{display:block;height:100%;transform:scaleX(1);width:100%;object-fit:cover;}.css-dHTgDT{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;gap:8px;position:relative;}.css-boSGMR{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;gap:6px;position:relative;}.css-fcoWDR{color:#5E5E5E;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:500;font-size:18px;line-height:24px;}.css-gtGwaM{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-left-width:0;border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-style:none;border-top-style:none;border-right-style:none;border-bottom-style:none;outline:none;box-sizing:border-box;box-shadow:none;text-decoration:none;-webkit-appearance:none;-webkit-transition-property:background;-moz-transition-property:background;transition-property:background;transition-duration:200ms;transition-timing-function:cubic-bezier(0, 0, 1, 1);cursor:pointer;margin-left:0;margin-top:0;margin-right:0;margin-bottom:0;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:12px;font-weight:500;line-height:16px;border-top-right-radius:50%;border-bottom-right-radius:50%;border-top-left-radius:50%;border-bottom-left-radius:50%;padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;color:#000000;background-color:#F3F3F3;height:40px;width:40px;padding:6px;}.css-gtGwaM:disabled{cursor:not-allowed;background-color:#F3F3F3;color:#A6A6A6;}.css-gtGwaM:focus-visible{box-shadow:inset 0 0 0 2px #FFFFFF, 0 0 0 2px #276EF1 ;}@media (hover: hover){.css-gtGwaM:hover{box-shadow:inset 999px 999px 0px rgba(0, 0, 0, 0.04) ;}}.css-gtGwaM:active{box-shadow:inset 999px 999px 0px rgba(0, 0, 0, 0.08) ;}.css-gtXpje{display:-webkit-inline-box;display:-moz-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-left-width:0;border-top-width:0;border-right-width:0;border-bottom-width:0;border-left-style:none;border-top-style:none;border-right-style:none;border-bottom-style:none;outline:none;box-sizing:border-box;box-shadow:none;text-decoration:none;-webkit-appearance:none;-webkit-transition-property:background;-moz-transition-property:background;transition-property:background;transition-duration:200ms;transition-timing-function:cubic-bezier(0, 0, 1, 1);cursor:pointer;margin-left:0;margin-top:0;margin-right:0;margin-bottom:0;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:12px;font-weight:500;line-height:16px;border-top-right-radius:50%;border-bottom-right-radius:50%;border-top-left-radius:50%;border-bottom-left-radius:50%;padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;color:#000000;background-color:#F3F3F3;height:40px;width:40px;padding:8px;}.css-gtXpje:disabled{cursor:not-allowed;background-color:#F3F3F3;color:#A6A6A6;}.css-gtXpje:focus-visible{box-shadow:inset 0 0 0 2px #FFFFFF, 0 0 0 2px #276EF1 ;}@media (hover: hover){.css-gtXpje:hover{box-shadow:inset 999px 999px 0px rgba(0, 0, 0, 0.04) ;}}.css-gtXpje:active{box-shadow:inset 999px 999px 0px rgba(0, 0, 0, 0.08) ;}.css-hByTyl{margin-bottom:10px;}.css-kwWKra{-webkit-column-gap:36px;column-gap:36px;display:-ms-grid;display:grid;-ms-grid-columns:1fr;grid-template-columns:1fr;row-gap:16px;}@media screen and (min-width: 600px){.css-kwWKra{-ms-grid-columns:repeat(2, 1fr);grid-template-columns:repeat(2, 1fr);}}.css-Yerqw{background-color:#F3F3F3;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;position:relative;width:100%;height:auto;min-height:auto;max-height:auto;margin:0 auto;padding-top:0;padding-bottom:0;}@media screen and (min-width: 320px){.css-Yerqw{padding-top:0;padding-bottom:0;}}@media screen and (min-width: 600px){.css-Yerqw{padding-top:0;padding-bottom:0;}}@media screen and (min-width: 1136px){.css-Yerqw{padding-top:0;padding-bottom:0;}}.css-kHWzwv{color:#000000;background-color:#F3F3F3;padding-top:40px;padding-right:24px;padding-bottom:40px;padding-left:24px;}@media screen and (min-width: 320px){.css-kHWzwv{padding-top:40px;padding-right:24px;padding-bottom:40px;padding-left:24px;}}@media screen and (min-width: 600px){.css-kHWzwv{padding-top:56px;padding-right:32px;padding-bottom:56px;padding-left:32px;}}@media screen and (min-width: 1136px){.css-kHWzwv{padding-top:64px;padding-right:64px;padding-bottom:64px;padding-left:64px;}}.css-fLCWQY{-ms-grid-column:1;-ms-grid-column-span:-2;grid-column:1/-1;order:0;width:100%;-ms-grid-row-align:center;align-self:center;display:-ms-grid;display:grid;}@media screen and (min-width: 600px){.css-fLCWQY{-ms-grid-column:2;-ms-grid-column-span:-4;grid-column:2 / -2;}}@media screen and (min-width: 1136px){.css-fLCWQY{-ms-grid-column:3;-ms-grid-column-span:-6;grid-column:3 / -3;}}.css-ingCMH{color:#5E5E5E;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:700;font-size:16px;line-height:20px;margin:0;white-space:nowrap;}.css-cCDVuf{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;gap:16px;}.css-czUDWs{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;gap:4px;margin-bottom:16px;}.css-iclDxs{background-color:#000000;border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:50%;box-sizing:border-box;display:inline-block;height:64px;width:64px;}.css-eUNfLQ{border-top-left-radius:50%;border-top-right-radius:50%;border-bottom-right-radius:50%;border-bottom-left-radius:50%;box-sizing:border-box;display:none;height:64px;width:64px;object-fit:cover;}.css-eoiIol{color:#000000;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:700;font-size:18px;line-height:28px;margin:0;}.css-kVLeBt{color:#4B4B4B;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:normal;font-size:14px;line-height:20px;margin:0;}.css-gLZtvz{color:#000000;font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-weight:normal;font-size:14px;line-height:20px;margin:0;}.css-gowlgP{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-lines:multiple;flex-wrap:wrap;gap:24px;-webkit-box-pack:justify;justify-content:space-between;margin-bottom:32px;}.css-fIxJXI{font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:36px;font-weight:700;line-height:44px;}.css-jKvvYG{-webkit-box-align:end;align-items:flex-end;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-lines:multiple;flex-wrap:wrap;gap:16px;}.css-hxCswv{font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:18px;font-weight:normal;line-height:28px;}.css-fhseOM{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-lines:multiple;flex-wrap:wrap;gap:16px;}.css-dsWNMj{font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:18px;font-weight:normal;line-height:28px;text-wrap:nowrap;}.css-bzLBFK{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;gap:24px;}.css-dtrVZw{display:-ms-grid;display:grid;gap:24px;-ms-grid-rows:repeat(2, 1fr);grid-template-rows:repeat(2, 1fr);width:100%;}@media screen and (min-width: 320px){.css-dtrVZw{-ms-grid-columns:repeat(1, 1fr);grid-template-columns:repeat(1, 1fr);}}@media screen and (min-width: 600px){.css-dtrVZw{-ms-grid-columns:repeat(2, 1fr);grid-template-columns:repeat(2, 1fr);}}@media screen and (min-width: 1136px){.css-dtrVZw{-ms-grid-columns:repeat(3, 1fr);grid-template-columns:repeat(3, 1fr);}}.css-iGtyFy{margin-bottom:64px;margin-top:64px;font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:24px;font-weight:700;line-height:32px;}.css-jODDvp{-webkit-box-align:center;align-items:center;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;justify-content:center;min-height:400px;width:100%;}.css-jJwUXi{border-radius:12px;cursor:pointer;overflow:hidden;position:relative;border-color:hsla(0, 0%, 0%, 0.08);border-style:solid;border-width:1px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;}.css-jJwUXi:hover div a{background-size:100% 1px;}.css-jJwUXi:hover div img{transform:scale(1.1);}.css-jJwUXi:nth-child(n) div img{-webkit-transition:400ms;-moz-transition:400ms;transition:400ms;}.css-kwNuyP{border-radius:12px;cursor:pointer;overflow:hidden;position:relative;border-color:hsla(0, 0%, 0%, 0.08);border-style:solid;border-width:1px;z-index:0;}.css-kwNuyP:hover div a{background-size:100% 1px;}.css-kwNuyP:hover div img{transform:scale(1.1);}.css-kwNuyP:nth-child(n) div img{-webkit-transition:400ms;-moz-transition:400ms;transition:400ms;}.css-jeuDjw{bottom:0;left:0;position:absolute;right:0;top:0;z-index:2;}.css-hxGQNi{bottom:0;left:0;position:absolute;z-index:1;}.css-bpyykn{background:-webkit-linear-gradient(0deg,rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);background:-moz-linear-gradient(0deg,rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);background:linear-gradient(0deg,rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 100%);bottom:0;height:100%;left:0;position:absolute;width:100%;z-index:1;}.css-cOsLzB{width:auto;height:auto;overflow:hidden;position:relative;}.css-cOsLzB::before{content:"";width:1px;margin-left:-1px;float:left;height:0;padding-top:66.66666666666667%;pointer-events:none;}.css-cOsLzB::after{content:"";display:table;clear:both;}.css-eleJdh{position:absolute;width:100%;top:0;bottom:0;}.css-fPItWk{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;gap:10px;padding:16px;width:auto;}.css-lnzgHT{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;flex-flow:row wrap-reverse;gap:6px;max-height:24px;overflow:hidden;}.css-bfYiUy{font-family:UberMove, UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:28px;font-weight:700;line-height:36px;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#FFFFFF;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;}.css-bGyOjB{font-family:UberMoveText, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;font-size:16px;font-weight:normal;line-height:24px;color:#DDDDDD;}.css-gkIDnk{-webkit-box-decoration-break:clone;background-image:-webkit-linear-gradient(#FFFFFF, #FFFFFF);background-image:-moz-linear-gradient(#FFFFFF, #FFFFFF);background-image:linear-gradient(#FFFFFF, #FFFFFF);background-position:left bottom;background-repeat:no-repeat;background-size:0% 1px;color:inherit;text-decoration:none;-webkit-transition:400ms;-moz-transition:400ms;transition:400ms;}.css-bZnCM{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:160px;order:0;}</style><script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-iP833FMI3Gbb8PIBNOY8aTsWI8/4EAzQk1sj2xnNWsZqhy+x0UjkT5HtEdVmzh4E">(function (){function __main__(t,e){var n=t&&t.safeUrlParams;if("undefined"!=typeof window&&(window.__SAFE_URL_PARAMS_CONFIG__=n||null),n&&"object"==typeof n){var r=function(){var t={};try{new URLSearchParams(window.location.search).forEach((function(e,n){t[n]=e}))}catch(t){}return t}();if(0!==Object.keys(r).length)if(i(),"undefined"!=typeof MutationObserver){var o=new MutationObserver((function(t){t.forEach((function(t){t.addedNodes.forEach((function(t){if(t.nodeType===Node.ELEMENT_NODE){"A"===t.tagName&&t.hasAttribute("href")&&a(t,r);var e=t.querySelectorAll&&t.querySelectorAll("a[href]");e&&e.forEach((function(t){a(t,r)}))}}))}))}));o.observe(document.documentElement,{childList:!0,subtree:!0}),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",(function(){o.disconnect()})):o.disconnect()}else"loading"===document.readyState&&document.addEventListener("DOMContentLoaded",i)}function a(t,e){try{var r=t.getAttribute("href");if(!r||r.startsWith("#")||r.startsWith("javascript:"))return;var o=new URL(r,window.location.origin),a=function(t){return t.startsWith("/")}(r),i=a?window.location.hostname:o.hostname,c=n[i];if(!c||!Array.isArray(c))return;var d=!1;c.forEach((function(t){e[t]&&(o.searchParams.set(t,e[t]),d=!0)})),d&&(a?t.setAttribute("href",o.pathname+o.search+o.hash):t.setAttribute("href",o.toString()))}catch(t){}}function i(){document.querySelectorAll("a[href]").forEach((function(t){a(t,r)}))}}
(function() {
try {
window['__script_safe-url-params-script_injected__'] = true;
var params = {"safeUrlParams":{"business.uber.com":["uber_client_name","name","countryiso2"],"auth.uber.com":["uber_client_name","name","countryiso2","userId","id","requestToken"],"www.uber.com":["uber_client_name","countryiso2","userId","id","requestToken"],"default":[],"drivers.uber.com":["invite_code"],"merchants.ubereats.com":["client_id","location_ids","brand_id","utm_campaign","user_id"],"earn-uberaisolutions.uber.com":["utm_source","jClickId","source"]}};
var beforeCallback = null;
var loadCallback = null;
var errorCallback = null;
function handleError(error) {
window['__script_safe-url-params-script_injected__'] = false;
if (errorCallback) {
try {
errorCallback({ name: 'safe-url-params-script', error: error });
} catch (cbErr) {
console.error('[script-injector] onScriptError callback failed:', cbErr);
}
}
if (window.__PRE_ANALYTICS__ && window.__PRE_ANALYTICS__.add) {
window.__PRE_ANALYTICS__.add({
name: 'script-injector:injection-failure',
payload: {
scriptName: 'safe-url-params-script',
error: error.message || String(error)
}
});
}
}
function executeScript(resolvedData) {
try {
var mergedData = Object.assign({}, resolvedData, params);
if (beforeCallback) {
try {
beforeCallback({ name: 'safe-url-params-script', script: 'safe-url-params-script' });
} catch (cbErr) {
console.error('[script-injector] beforeScriptLoad callback failed:', cbErr);
}
}
if (typeof __main__ === 'function') {
__main__(mergedData, 'safe-url-params-script');
}
if (loadCallback) {
try {
loadCallback({ name: 'safe-url-params-script', data: mergedData });
} catch (cbErr) {
console.error('[script-injector] onScriptLoad callback failed:', cbErr);
}
}
} catch (execError) {
handleError(execError);
}
}
executeScript({});
} catch (error) {
window['__script_safe-url-params-script_injected__'] = false;
if (window.__PRE_ANALYTICS__ && window.__PRE_ANALYTICS__.add) {
window.__PRE_ANALYTICS__.add({
name: 'script-injector:initialization-failure',
payload: {
scriptName: 'safe-url-params-script',
error: error.message || String(error)
}
});
}
}
})();
})();</script><style>
@font-face {
font-family: "Book";
font-display: fallback;
src: url("/_static/d9fefb2e7848440e.woff") format("woff"),url("/_static/c7d2487e86a01259.woff2") format("woff2");
}
@font-face {
font-family: "Medium";
font-display: fallback;
src: url("/_static/4a6ba14eeb82d398.woff") format("woff"),url("/_static/373acd359b809a36.woff2") format("woff2");
}
@font-face {
font-family: "NarrowBook";
font-display: fallback;
src: url("/_static/72265bee6edcde38.woff") format("woff"),url("/_static/4092f014767a0c42.woff2") format("woff2");
}
@font-face {
font-family: "NarrowMedium";
font-display: fallback;
src: url("/_static/3b7b2d393828f966.woff") format("woff"),url("/_static/d03e099b908c23f5.woff2") format("woff2");
}
@font-face {
font-family: "NarrowNews";
font-display: fallback;
src: url("/_static/d35e4f7be34dbdf1.woff") format("woff"),url("/_static/3ead8fe086dcc03b.woff2") format("woff2");
}
@font-face {
font-family: "NarrowThin";
font-display: fallback;
src: url("/_static/56bde4d6d985fd33.woff") format("woff"),url("/_static/22ff2ed7e89a1893.woff2") format("woff2");
}
@font-face {
font-family: "News";
font-display: fallback;
src: url("/_static/7dee2ff8254c25e7.woff") format("woff"),url("/_static/eaaab0415f3c894a.woff2") format("woff2");
}
@font-face {
font-family: "Thin";
font-display: fallback;
src: url("/_static/3bafb784fdbf1412.woff") format("woff"),url("/_static/4971a684a2006b0b.woff2") format("woff2");
}</style><script type="application/json" id="__FUSION_UNIVERSAL_VALUES__">
{}
</script><link rel="stylesheet" href="/_static/client-main-styles-f476fd9156cbdd17.css" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-nl5Zdd+Aou2VVqG026bDA21pyNJVm46/TZ6Dw7PTekdlgsbdE2IRk0SKV1VVA0X8" /><script nomodule nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-dwib240Wl9GZJv12nHHBWl4pWIb/hc4yrAa5HJ67msqG9iaMuvkARhg0Got7VT8M">(function() {var check = document.createElement('script');if (!('noModule' in check) && 'onbeforeload' in check) {var support = false;document.addEventListener('beforeload', function(e) {if (e.target === check) {support = true;} else if (!e.target.hasAttribute('nomodule') || !support) {return;}e.preventDefault();}, true);check.type = 'module';check.src = '.';document.head.appendChild(check);check.remove();}}());</script><link rel="modulepreload" href="/_static/client-main-bb16115d4fc007a7.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-L9v41kQmbWeXDxAvm+RlJ4ArW9D7dkZS8MbnmSj/26nzgIccPuJlKa6n6RT2UaKh" as="script"/><link rel="modulepreload" href="/_static/client-vendor-673c886a6b0b9772.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-1Mhgkz8ySzKeD3DiCCcc0jQWYKoOyEXCML5u/YpWbmxcixU1+nSuGohSzcxrwH7Q" as="script"/><link rel="preload" href="/_static/client-main-styles-f476fd9156cbdd17.css" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-nl5Zdd+Aou2VVqG026bDA21pyNJVm46/TZ6Dw7PTekdlgsbdE2IRk0SKV1VVA0X8" as="style"/><link rel="modulepreload" href="/_static/client-2611-648968cf7df1e1c9.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-aCt18a0TdA9HKl6ISsUiY+JOd8SYeahBrXDFAn8peH4DyLeK3F/973UazqIlS3vy" as="script"/><link rel="modulepreload" href="/_static/client-9438-69ee1859c7af99a9.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-DqJP7imhmujPP0qFg/3wq1DvxiRmPd/ERVOZe7qdqW6XE85Cf02UB2LvH32gTpnJ" as="script"/><link rel="modulepreload" href="/_static/client-7729-8e3d16c04fffc39c.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-CF9Nq1+lQmSFKExsyM5IJSdJaUXRtO6PcElAxqJV1BId9JTUaJtn+jiMDw3jFD6e" as="script"/><link rel="modulepreload" href="/_static/client-6005-fdbb77498216622e.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-nn6leunJfJlCfpte1PsN5J3z2btTynUujNd4DabvB9xRc3R4QYaeh+uf6ahgNPbx" as="script"/><link rel="modulepreload" href="/_static/client-4337-d48093cd1da16233.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-sl+j91D1M4qsYL40/gQURqyiMwqSm4I5e4QV3sz5cK98P8LDbSUqfa6C1jzIAJ9j" as="script"/><link rel="modulepreload" href="/_static/client-8510-5970d2315c017441.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-436hnUAdBdASvRRoklM09qy2EwzU15EId9pxtDHRRGt26jdoPDvQS0nc6rOLp260" as="script"/><link rel="modulepreload" href="/_static/client-1422-d97257afdf27ea82.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-AgvGckDPrLFFNLnBk3QRMTrwbWqolO3y6yYVEECvmVrWLRFVAolIcZIh4YlBa7Yy" as="script"/><link rel="modulepreload" href="/_static/client-runtime-7a025a732285b903.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-bPY1eSIMhW/q7gaBhvCvc+FhHYPDYwDsas9ykmUKmKlCbqBSPDeHsBs1sJHK9z33" as="script"/><script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-mcK3UMVp0GUn5WkaTG0rgxbHY3UDoU6C8/r80o3FlUQXGMRs2w7QhIYdeigglv32">window.performance && window.performance.mark && window.performance.mark('firstRenderStart');__FUSION_ASSET_PATH__ = "/_static/";</script><script type="module" src="/_static/client-main-bb16115d4fc007a7.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-L9v41kQmbWeXDxAvm+RlJ4ArW9D7dkZS8MbnmSj/26nzgIccPuJlKa6n6RT2UaKh" ></script><script type="module" src="/_static/client-vendor-673c886a6b0b9772.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-1Mhgkz8ySzKeD3DiCCcc0jQWYKoOyEXCML5u/YpWbmxcixU1+nSuGohSzcxrwH7Q" ></script><script type="module" src="/_static/client-2611-648968cf7df1e1c9.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-aCt18a0TdA9HKl6ISsUiY+JOd8SYeahBrXDFAn8peH4DyLeK3F/973UazqIlS3vy" ></script><script type="module" src="/_static/client-9438-69ee1859c7af99a9.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-DqJP7imhmujPP0qFg/3wq1DvxiRmPd/ERVOZe7qdqW6XE85Cf02UB2LvH32gTpnJ" ></script><script type="module" src="/_static/client-7729-8e3d16c04fffc39c.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-CF9Nq1+lQmSFKExsyM5IJSdJaUXRtO6PcElAxqJV1BId9JTUaJtn+jiMDw3jFD6e" ></script><script type="module" src="/_static/client-6005-fdbb77498216622e.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-nn6leunJfJlCfpte1PsN5J3z2btTynUujNd4DabvB9xRc3R4QYaeh+uf6ahgNPbx" ></script><script type="module" src="/_static/client-4337-d48093cd1da16233.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-sl+j91D1M4qsYL40/gQURqyiMwqSm4I5e4QV3sz5cK98P8LDbSUqfa6C1jzIAJ9j" ></script><script type="module" src="/_static/client-8510-5970d2315c017441.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-436hnUAdBdASvRRoklM09qy2EwzU15EId9pxtDHRRGt26jdoPDvQS0nc6rOLp260" ></script><script type="module" src="/_static/client-1422-d97257afdf27ea82.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-AgvGckDPrLFFNLnBk3QRMTrwbWqolO3y6yYVEECvmVrWLRFVAolIcZIh4YlBa7Yy" ></script><script type="module" src="/_static/client-runtime-7a025a732285b903.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-bPY1eSIMhW/q7gaBhvCvc+FhHYPDYwDsas9ykmUKmKlCbqBSPDeHsBs1sJHK9z33" ></script><script defer nomodule src="/_static/client-legacy-main-d41577ae3071dbe3.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-uz/zkz9WuwnKIfnZwq07mY/+pnQXl8rIsiktlBWprZVXVlG3uTAUtHsx7v+5kY3b" ></script><script defer nomodule src="/_static/client-legacy-vendor-3de0c764dbe047ae.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-R6F2eqsaIYPf+jNHqCPgaeMX/C2vxXGeGc1+3wrRFyRHRCizsf5P6GSfBegNCXDq" ></script><script defer nomodule src="/_static/client-legacy-main-styles-f476fd9156cbdd17.css" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-nl5Zdd+Aou2VVqG026bDA21pyNJVm46/TZ6Dw7PTekdlgsbdE2IRk0SKV1VVA0X8" ></script><script defer nomodule src="/_static/client-legacy-legacy-1493-36e01a199ed6ce09.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-uVhFLrftFnJEWH0MUKUcYlPtXeMKIwLPy2V60QGTGrLm0TdiL/vGVY9Letp0oJkS" ></script><script defer nomodule src="/_static/client-legacy-legacy-7002-2208d0f4bbd06adc.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-XnoPOTSlqMZiTFg+LJtue/KZRJ9/8RbPooHRgaRZ8ZaILoMfJAsWdhDXiedu6cIm" ></script><script defer nomodule src="/_static/client-legacy-legacy-4631-fda9be9ef073ff64.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-dVfZ1x2r87CXrmb2rhLU6n21LhRMyFbA04mt3Z8sCiT78/Hup/7dvIwnT/C9TP3j" ></script><script defer nomodule src="/_static/client-legacy-legacy-974-35726d3f083c769c.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-do9qCnE6USc3evZD27waiuDjCfUMLcZs2C5MVJQM+H3T/ndTmfwt/Xib12uHtD0f" ></script><script defer nomodule src="/_static/client-legacy-legacy-8965-cc2a602097761220.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-K21uq2zWCjNoMWg02Y/r737EVbmhYx5wCEfkKBMFM4iCESPuQdyROzMOPvL1e4jW" ></script><script defer nomodule src="/_static/client-legacy-legacy-8769-c676f1170417999e.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-ZbZky+e3F5XTbqh7npLhiQxB9/PzkpTzEyNhhxFev61Yrk01RlljB7Bp1BKP3+8Y" ></script><script defer nomodule src="/_static/client-legacy-legacy-414-78ca57cc1d0d5f48.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-bZXOTwDrnuvuw0AzCbLr6Ll98Aiim4TJUDyVBPO2wHh3tUUhtPS73V5AsRqVLG2l" ></script><script defer nomodule src="/_static/client-legacy-runtime-a4af136e521f305d.js" nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-s8O/2fJjJeL6O7Kf+/mLDMq2hnb+dK0Ry1PZr/k0avYEw/yyhQSlSmBD3zj5gPEf" ></script></head><body><div id="root"><div class="uwa-capture"><div class="css-bzyevI"><style>
html,body,#root{min-height:100%;}
html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);scroll-padding-top:64px;}
body{margin:0;}
html:not([data-tour-cta-eligible="true"]) a[href$="#tour-start"]{display:none !important;}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}
input::-webkit-inner-spin-button,input::-webkit-outer-spin-button,input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;}
body:has(input[type="checkbox"]#hamburger-input:checked) {
overflow: hidden;
}
body:has(input[type="checkbox"]#hamburger-input:not(:checked)) {
overflow: auto;
}
</style><style>
@font-face {
font-family: 'UberMove';
src: url('https://tb-static.uber.com/prod/uber-static/UberMove-Light.woff2')
format('woff2'),
url('https://tb-static.uber.com/prod/uber-static/UberMove-Light.woff')
format('woff');
font-weight: 200;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'UberMove';
src: url('https://tb-static.uber.com/prod/uber-static/UberMove-Regular.woff2')
format('woff2'),
url('https://tb-static.uber.com/prod/uber-static/UberMove-Regular.woff')
format('woff');
font-weight: 400;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'UberMove';
src: url('https://tb-static.uber.com/prod/uber-static/UberMove-Medium.woff2')
format('woff2'),
url('https://tb-static.uber.com/prod/uber-static/UberMove-Medium.woff')
format('woff');
font-weight: 500;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'UberMove';
src: url('https://tb-static.uber.com/prod/uber-static/UberMove-Bold.woff2')
format('woff2'),
url('https://tb-static.uber.com/prod/uber-static/UberMove-Bold.woff')
format('woff');
font-weight: 600;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'UberMoveText';
src: url('https://tb-static.uber.com/prod/uber-static/UberMoveText-Light.woff2')
format('woff2'),
url('https://tb-static.uber.com/prod/uber-static/UberMoveText-Light.woff')
format('woff');
font-weight: 200;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'UberMoveText';
src: url('https://tb-static.uber.com/prod/uber-static/UberMoveText-Regular.woff2')
format('woff2'),
url('https://tb-static.uber.com/prod/uber-static/UberMoveText-Regular.woff')
format('woff');
font-weight: 400;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'UberMoveText';
src: url('https://tb-static.uber.com/prod/uber-static/UberMoveText-Medium.woff2')
format('woff2'),
url('https://tb-static.uber.com/prod/uber-static/UberMoveText-Medium.woff')
format('woff');
font-weight: 500;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'UberMoveText';
src: url('https://tb-static.uber.com/prod/uber-static/UberMoveText-Bold.woff2')
format('woff2'),
url('https://tb-static.uber.com/prod/uber-static/UberMoveText-Bold.woff')
format('woff');
font-weight: 600;
font-style: normal;
font-display: swap;
}
</style><div class="css-PKJb"><a href="#main" class="css-jcwfVM">Skip to main content</a><div>
<!--[if lte IE 9]>
<br>
<a href="#browser-happy" id="browser-happy" role="presentation" class=""><div>
<div style="color: #b4540b; margin: 0; padding: 24px; cursor: pointer;">
<div style="margin: 0; padding: 0; margin: 0 auto; max-width: 1032px; position: relative; ">
<div style="position: absolute; top: 0; right: 0;">×</div>
<h3 style="margin: 0 0 20px; padding: 0;">
Browser not supported
</h3>
<p style="margin: 0; padding: 0;">
This probably isn't the experience you were expecting. Internet Explorer isn't supported on Uber.com. Try switching to a different browser to view our site.
</p>
</div>
</div>
</div></a>
<![endif]-->
</div><main id="main" tabindex="-1"><div data-block-content-id="a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f" data-block-id="Navigation" style="display:inline" tabindex="-1"><div data-testid="responsive.visibility.wrapper" class="css-cenKGv"><div data-baseweb="block" data-testid="responsive-desktop-nav" class="css-hNYSyH"><span style="height:0;position:absolute;width:0" aria-hidden="true"></span><nav data-baseweb="header-navigation" role="navigation" class="css-esMPmm"><div class="css-hWkSKL" data-testid="nav-grid" tabindex="-1"><a data-baseweb="link" aria-label="Go to Uber Blog" data-testid="wcb3-navigation-logo" href="https://www.uber.com/us/en/blog/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_logo.link_cta27" class="css-bLZDAV">Uber Blog</a><ul data-testid="navigation-left-list-desktop" class="css-flFEmG"><li class="css-iJiqqk"><button data-baseweb="button" aria-label="Explore" aria-haspopup="menu" aria-expanded="false" class="css-lWgfA">Explore<div aria-hidden="true" class="css-cDENyl"><svg width="18" height="18" viewBox="0 0 24 24" fill="none"><path d="M18 8v3.8l-6 4.6-6-4.6V8l6 4.6L18 8Z" fill="currentColor"></path></svg></div></button><div class="css-hSgrkT"><div class="css-fXAxKR"><div class="css-lpcwSG"><div class="css-fRvJhN"><div class="css-boizeY"><img src="https://tb-static.uber.com/prod/udam-assets/b13c9264-0416-4e8f-bb02-737a108f36ae.svg" srcSet="https://tb-static.uber.com/prod/udam-assets/b13c9264-0416-4e8f-bb02-737a108f36ae.svg" alt="" aria-hidden="true" role="presentation" fetchpriority="high" class="css-ZwMiT"/></div><span class="css-kubgwy">Products</span></div><div class="css-jXIcbF"><a data-baseweb="link" href="https://www.uber.com/us/en/blog/advertising/" target="_self" class="css-fwSNZL">Advertising<p data-baseweb="typo-paragraphsmall" class="css-ePDHQX css-lnLvkz">Learn more about advertising on Uber. Reach consumers as they go anywhere and get anything.</p></a><a data-baseweb="link" href="https://www.uber.com/us/en/blog/earn/" target="_self" class="css-fwSNZL">Earn<p data-baseweb="typo-paragraphsmall" class="css-ePDHQX css-lnLvkz">Resources for driving and delivering with Uber</p></a><a data-baseweb="link" href="https://www.uber.com/us/en/blog/ride/" target="_self" class="css-fwSNZL">Ride<p data-baseweb="typo-paragraphsmall" class="css-ePDHQX css-lnLvkz">Experiences and information for people on the move</p></a><a data-baseweb="link" href="https://www.uber.com/us/en/blog/eat/" aria-label="" target="_self" class="css-fwSNZL">Eat<p data-baseweb="typo-paragraphsmall" class="css-ePDHQX css-lnLvkz">Ordering meals for delivery is just the beginning with Uber Eats</p></a><a data-baseweb="link" href="https://www.uber.com/us/en/blog/merchants/" target="_self" class="css-fwSNZL">Merchants<p data-baseweb="typo-paragraphsmall" class="css-ePDHQX css-lnLvkz">Putting stores within reach of a world of customers</p></a><a data-baseweb="link" href="https://www.uber.com/us/en/blog/business/" target="_self" class="css-fwSNZL">Business<p data-baseweb="typo-paragraphsmall" class="css-ePDHQX css-lnLvkz">Transforming the way companies move and feed their people</p></a><a data-baseweb="link" href="https://www.uber.com/us/en/blog/health/" target="_self" class="css-fwSNZL">Health<p data-baseweb="typo-paragraphsmall" class="css-ePDHQX css-lnLvkz">Moving care forward together with medical providers</p></a><a data-baseweb="link" href="https://www.uber.com/us/en/blog/higher-education/" target="_self" class="css-fwSNZL">Higher Education<p data-baseweb="typo-paragraphsmall" class="css-ePDHQX css-lnLvkz">Enhancing campus transportation</p></a><a data-baseweb="link" href="https://www.uber.com/us/en/blog/transit/" target="_self" class="css-fwSNZL">Transit<p data-baseweb="typo-paragraphsmall" class="css-ePDHQX css-lnLvkz">Expanding the reach of public transportation</p></a></div></div><div class="css-lpcwSG"><div class="css-fRvJhN"><div class="css-boizeY"><img src="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=24/height=24/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8yNzk4ODM0OC0wY2JkLTRjNWMtYmUzYS1mNTMzZjQ4ZDAwNDcucG5n" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=24/height=24/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8yNzk4ODM0OC0wY2JkLTRjNWMtYmUzYS1mNTMzZjQ4ZDAwNDcucG5n, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=48/height=48/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8yNzk4ODM0OC0wY2JkLTRjNWMtYmUzYS1mNTMzZjQ4ZDAwNDcucG5n 2x" alt="" aria-hidden="true" role="presentation" fetchpriority="high" class="css-ZwMiT"/></div><span class="css-kubgwy">Company</span></div><div class="css-iwUWAj"><a data-baseweb="link" href="https://www.uber.com/us/en/blog/engineering/" target="_self" class="css-fwSNZL">Engineering<p data-baseweb="typo-paragraphsmall" class="css-ePDHQX css-lnLvkz">The technology behind Uber Engineering</p></a><a data-baseweb="link" href="https://www.uber.com/us/en/blog/community-support/" target="_self" class="css-fwSNZL">Community support<p data-baseweb="typo-paragraphsmall" class="css-ePDHQX css-lnLvkz">Doing the right thing for cities and communities globally</p></a><a data-baseweb="link" href="https://www.uber.com/us/en/newsroom/" target="_self" class="css-fwSNZL">Newsroom<p data-baseweb="typo-paragraphsmall" class="css-ePDHQX css-lnLvkz">Uber news and updates in your country</p></a><a data-baseweb="link" href="https://www.uber.com/" target="_self" class="css-fwSNZL">Uber.com<p data-baseweb="typo-paragraphsmall" class="css-ePDHQX css-lnLvkz">Product, how-to, and policy content—and more</p></a></div></div></div></div></li><li data-testid="more-link-desktop" class="css-eKMvCJ"><button data-baseweb="button" aria-label="More" href="" aria-haspopup="menu" aria-expanded="false" class="css-lWgfA">More<div aria-hidden="true" class="css-cDENyl"><svg width="18" height="18" viewBox="0 0 24 24" fill="white"><path d="M18 8v3.8l-6 4.6-6-4.6V8l6 4.6L18 8Z" fill="currentColor"></path></svg></div></button><div class="css-hSgrkT"><ul role="menu" aria-label="Navigation menu" tabindex="0" data-baseweb="menu" class="css-dluitZ"><li role="status" aria-live="polite" aria-atomic="true" class="css-fZMXzA">No results</li></ul><div role="status" aria-live="polite" aria-atomic="true" class="css-gAzlNU"></div><span></span></div></li></ul><ul class="css-eOLFUs"><li class="css-iJiqqk"><button data-baseweb="button" aria-label="Change language" aria-expanded="false" aria-haspopup="menu" class="css-lWgfA"><div aria-hidden="true" class="css-hdjfHk"><svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M12 1C5.9 1 1 5.9 1 12s4.9 11 11 11 11-4.9 11-11S18.1 1 12 1Zm8 11c0 .7-.1 1.4-.3 2-.6-1.5-1.6-3.1-3-4.7l1.8-1.8c1 1.3 1.5 2.8 1.5 4.5ZM6.5 6.5c1.3 0 3.6.8 6 2.9l-3.2 3.2C7.1 9.8 6.5 7.5 6.5 6.5Zm8.1 5c2.3 2.7 2.9 5 2.9 6-1.3 0-3.6-.8-6-2.9l3.1-3.1Zm1.9-6.1-1.9 1.9c-1.6-1.4-3.2-2.4-4.7-3 .7-.2 1.3-.3 2-.3 1.8 0 3.3.5 4.6 1.4ZM4 12c0-.7.1-1.4.3-2 .6 1.5 1.6 3.1 3 4.7l-1.8 1.8C4.5 15.2 4 13.7 4 12Zm3.5 6.6 1.9-1.9c1.6 1.4 3.2 2.4 4.7 3-.7.2-1.3.3-2 .3-1.8 0-3.3-.5-4.6-1.4Z" fill="currentColor"></path></svg></div>EN</button></li><li class="css-iJiqqk"><a data-baseweb="button" aria-label="Help" href="https://help.uber.com/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_additionalCta.link_cta1" class="css-lWgfA">Help</a></li><li class="css-iJiqqk"><a data-baseweb="button" aria-label="Log in to your Uber account" data-testid="wcb3-navigation-login" href="https://auth.uber.com/login-redirect?next_url=https://www.uber.com" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_login.link_cta26" class="css-kvlyqw">Log in</a></li><li class="css-dmqvLf"><button data-baseweb="button" aria-label="Sign up to ride, drive, and get delivery" aria-expanded="false" aria-haspopup="menu" class="css-hFtqPc">Sign up</button><div class="css-hSgrkT"><ul class="css-gKOWma"><li><a data-baseweb="link" href="https://m.uber.com/looking/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[0].link_cta2" class="css-iacIfU"><div class="css-GWCtH">Ride<div class="css-daiOOU"><img alt="" class="css-kpjDOI" loading="lazy" src="https://tb-static.uber.com/prod/udam-assets/80bb7bdd-6cf4-4053-94c5-2e4e53d9d5f6.svg" aria-hidden="true"/></div></div></a></li><li><a data-baseweb="link" aria-label="" href="https://drivers.uber.com/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[1].link_cta3" class="css-iacIfU"><div class="css-GWCtH">Drive &amp; deliver<div class="css-daiOOU"><img alt="" class="css-kpjDOI" loading="lazy" src="https://tb-static.uber.com/prod/udam-assets/d4ca3837-f9df-473b-9099-85505187cb2a.svg" aria-hidden="true"/></div></div></a></li><li><a data-baseweb="link" href="https://ubereats.com/login-redirect/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[2].link_cta4" class="css-iacIfU"><div class="css-GWCtH">Uber Eats<div class="css-daiOOU"><img alt="" class="css-kpjDOI" loading="lazy" src="https://tb-static.uber.com/prod/udam-assets/839bd4f4-306c-4b1b-b0e8-ab9cc8fd65c7.svg" aria-hidden="true"/></div></div></a></li><li><a data-baseweb="link" href="https://business.uber.com/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[3].link_cta5" class="css-iacIfU"><div class="css-GWCtH">Business<div class="css-daiOOU"><img alt="" class="css-kpjDOI" loading="lazy" src="https://tb-static.uber.com/prod/udam-assets/0d73ead7-7739-4bb3-b79b-ded048dba1e1.svg" aria-hidden="true"/></div></div></a></li></ul></div></li></ul></div></nav></div><div data-baseweb="block" data-testid="responsive-mobile-nav" class="css-UsIex"><span style="height:0;position:absolute;width:0" aria-hidden="true"></span><nav data-baseweb="header-navigation" role="navigation" class="css-esMPmm"><div class="css-bjVkCt" data-testid="nav-grid" tabindex="-1"><a data-baseweb="link" aria-label="Go to Uber Blog" data-testid="wcb3-navigation-logo" href="https://www.uber.com/us/en/blog/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_logo.link_cta27" class="css-bLZDAV">Uber Blog</a><ul class="css-jaByka"><li class="css-iJiqqk"><a data-baseweb="button" aria-label="Log in to your Uber account" data-testid="wcb3-navigation-login" href="https://auth.uber.com/login-redirect?next_url=https://www.uber.com" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_login.link_cta26" class="css-kvlyqw">Log in</a></li><li class="css-dmqvLf"><button data-baseweb="button" aria-label="Sign up to ride, drive, and get delivery" aria-expanded="false" aria-haspopup="menu" class="css-hFtqPc">Sign up</button><div class="css-hSgrkT"><ul class="css-gKOWma"><li><a data-baseweb="link" href="https://m.uber.com/looking/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[0].link_cta2" class="css-iacIfU"><div class="css-GWCtH">Ride<div class="css-daiOOU"><img alt="" class="css-kpjDOI" loading="lazy" src="https://tb-static.uber.com/prod/udam-assets/80bb7bdd-6cf4-4053-94c5-2e4e53d9d5f6.svg" aria-hidden="true"/></div></div></a></li><li><a data-baseweb="link" aria-label="" href="https://drivers.uber.com/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[1].link_cta3" class="css-iacIfU"><div class="css-GWCtH">Drive &amp; deliver<div class="css-daiOOU"><img alt="" class="css-kpjDOI" loading="lazy" src="https://tb-static.uber.com/prod/udam-assets/d4ca3837-f9df-473b-9099-85505187cb2a.svg" aria-hidden="true"/></div></div></a></li><li><a data-baseweb="link" href="https://ubereats.com/login-redirect/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[2].link_cta4" class="css-iacIfU"><div class="css-GWCtH">Uber Eats<div class="css-daiOOU"><img alt="" class="css-kpjDOI" loading="lazy" src="https://tb-static.uber.com/prod/udam-assets/839bd4f4-306c-4b1b-b0e8-ab9cc8fd65c7.svg" aria-hidden="true"/></div></div></a></li><li><a data-baseweb="link" href="https://business.uber.com/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[3].link_cta5" class="css-iacIfU"><div class="css-GWCtH">Business<div class="css-daiOOU"><img alt="" class="css-kpjDOI" loading="lazy" src="https://tb-static.uber.com/prod/udam-assets/0d73ead7-7739-4bb3-b79b-ded048dba1e1.svg" aria-hidden="true"/></div></div></a></li></ul></div></li><li class="css-bolAuU"><button data-baseweb="button" aria-label="Menu" data-drawer="Explore" data-testid="wcb3-navigation-hamburger" class="css-daInXa"><svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M2 6h20v3H2V6Z" fill="currentColor"></path>,<path d="M2 15h20v3H2v-3Z" fill="currentColor"></path></svg></button></li></ul></div></nav></div></div></div><div data-block-content-id="a8a3530c-f5b4-4380-9940-3e4c16efe002" data-block-id="ArticleHeader" style="display:inline" tabindex="-1"><div data-testid="responsive.visibility.wrapper" class="css-cenKGv"><section data-baseweb="block" class="css-gqcHgx"><div data-baseweb="block" class="css-hazmlH"><div data-baseweb="block" class="css-ofGld"><div data-baseweb="block" class="container-inner css-hJZDgX"><div data-baseweb="block" data-testid="block-container" class="css-bVFrLX"><div data-baseweb="block" class="css-cGUJPV"><div class="css-dhEXXW"><div data-baseweb="typo-labellarge" class="css-lWKHs css-dZTBoz">April 20, 2026</div><div class="css-jOhJVe"><h1 class="css-bUfMjo">How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management</h1></div><div class="css-kghkUG"><div class="css-drdOnW"><div class="css-uPqSX"><div class="css-kZqllj"><div aria-label="Dhyanam Vaidya" role="img" data-baseweb="avatar" class="css-jQOKxw"><img alt="Dhyanam Vaidya" class="css-cxExNw"/><div class="css-cKXFfR">DV</div></div><div class="css-ekKYDj"><div data-baseweb="typo-labelmedium" class="css-eTbQd">Dhyanam Vaidya</div></div></div></div><div class="css-uPqSX"><div class="css-kZqllj"><div aria-label="Prathamesh Deshpande" role="img" data-baseweb="avatar" class="css-jQOKxw"><img alt="Prathamesh Deshpande" class="css-cxExNw"/><div class="css-cKXFfR">PD</div></div><div class="css-ekKYDj"><div data-baseweb="typo-labelmedium" class="css-eTbQd">Prathamesh Deshpande</div></div></div></div><div class="css-uPqSX"><div class="css-kZqllj"><div aria-label="Mike Ma" role="img" data-baseweb="avatar" class="css-jQOKxw"><img alt="Mike Ma" class="css-cxExNw"/><div class="css-cKXFfR">MM</div></div><div class="css-ekKYDj"><div data-baseweb="typo-labelmedium" class="css-eTbQd">Mike Ma</div></div></div></div><div class="css-hTBogS" data-testid="remaining-authors-count">1+</div></div></div></div><div class="css-jOhJVe" data-testid="hero-image-media"><div class="css-bqPEQx"><picture><source media="screen and (min-width: 1136px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1152/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy85NGY3M2RlOS0xM2ViLTU4YjktYTM0My0xMWUyYWUxZjBjOTQuanBn, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=2304/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy85NGY3M2RlOS0xM2ViLTU4YjktYTM0My0xMWUyYWUxZjBjOTQuanBn 2x"/><source media="screen and (min-width: 600px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1072/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy85NGY3M2RlOS0xM2ViLTU4YjktYTM0My0xMWUyYWUxZjBjOTQuanBn, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=2144/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy85NGY3M2RlOS0xM2ViLTU4YjktYTM0My0xMWUyYWUxZjBjOTQuanBn 2x"/><source media="screen and (min-width: 320px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=552/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy85NGY3M2RlOS0xM2ViLTU4YjktYTM0My0xMWUyYWUxZjBjOTQuanBn, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1104/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy85NGY3M2RlOS0xM2ViLTU4YjktYTM0My0xMWUyYWUxZjBjOTQuanBn 2x"/><img src="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=552/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy85NGY3M2RlOS0xM2ViLTU4YjktYTM0My0xMWUyYWUxZjBjOTQuanBn" alt="cover-photo-non-ai-17682774511395.jpg" fetchpriority="high" loading="eager" class="css-etAiCK"/></picture></div></div><div class="css-dHTgDT" data-testid="social-share-links"><div data-baseweb="typo-labellarge" class="css-fcoWDR">Share this article</div><div class="css-boSGMR" data-testid="social-share-links-buttons"><button data-baseweb="button" title="Share via Facebook" class="css-gtGwaM"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" color="#000000"><title>Facebook</title><path d="M21.79 1H2.21C1.54 1 1 1.54 1 2.21v19.57c0 .68.54 1.22 1.21 1.22h10.54v-8.51H9.9v-3.33h2.86V8.71c0-2.84 1.74-4.39 4.27-4.39.85 0 1.71.04 2.56.13v2.97h-1.75c-1.38 0-1.65.65-1.65 1.62v2.12h3.3l-.43 3.33h-2.89V23h5.61c.67 0 1.21-.54 1.21-1.21V2.21C23 1.54 22.46 1 21.79 1Z" fill="currentColor"></path></svg></button><button data-baseweb="button" title="Share via LinkedIn" class="css-gtGwaM"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" color="#000000"><title>Linkedin</title><path d="M21.37 1H2.62C1.73 1 1 1.71 1 2.58v18.83c0 .88.73 1.59 1.62 1.59h18.75c.9 0 1.63-.71 1.63-1.59V2.58C23 1.71 22.27 1 21.37 1ZM7.53 19.75H4.26V9.25h3.27v10.5ZM5.89 7.81C4.85 7.81 4 6.96 4 5.92s.84-1.89 1.89-1.89c1.04 0 1.89.85 1.89 1.89.01 1.04-.84 1.89-1.89 1.89Zm13.86 11.94h-3.26v-5.1c0-1.22-.02-2.78-1.7-2.78-1.7 0-1.96 1.33-1.96 2.7v5.19H9.57V9.26h3.13v1.43h.04c.44-.83 1.5-1.7 3.09-1.7 3.3 0 3.91 2.17 3.91 5v5.76h.01Z" fill="currentColor"></path></svg></button><button data-baseweb="button" title="Share via X" class="css-gtGwaM"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" color="#000000"><title>X social</title><path d="M14.094 10.317 22.28 1H20.34l-7.11 8.088L7.557 1H1.01l8.583 12.231L1.01 23H2.95l7.503-8.543L16.446 23h6.546M3.649 2.432h2.978L20.34 21.639h-2.98" fill="currentColor"></path></svg></button><button data-baseweb="button" title="Copy link" class="css-gtXpje"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" color="#000000"><title>Link</title><path fill-rule="evenodd" clip-rule="evenodd" d="M16.5 1c1.7 0 3.3.6 4.6 1.9 2.5 2.5 2.5 6.7 0 9.2l-3 3c-1.3 1.3-2.9 1.9-4.6 1.9-1.7 0-3.3-.6-4.6-1.9l-1-1L10 12l1 1c.7.6 1.5 1 2.5 1s1.8-.3 2.5-1l1.5-1.5L19 10c1.4-1.4 1.4-3.6 0-5-.7-.6-1.5-1-2.5-1s-1.8.3-2.5 1l-.5.6c-.9-.4-2-.6-3-.6h-.7l2.1-2.1C13.2 1.6 14.8 1 16.5 1ZM10 19l.5-.6c.9.4 2 .6 3 .6h.7l-2.1 2.1C10.8 22.4 9.2 23 7.5 23c-1.7 0-3.3-.6-4.6-1.9-2.5-2.5-2.5-6.7 0-9.2l3-3C7.2 7.6 8.8 7 10.5 7c1.7 0 3.3.6 4.6 1.9l1 1L14 12l-1-1c-.7-.6-1.5-1-2.5-1s-1.8.3-2.5 1l-1.5 1.5L5 14c-1.4 1.4-1.4 3.6 0 5 .7.6 1.5 1 2.5 1s1.8-.3 2.5-1Z" fill="currentColor"></path></svg></button></div></div></div></div></div></div></div></section></div></div><div data-block-content-id="4b46a2f1-4942-466a-8e04-9d8d72e8bfc0" data-block-id="LongFormContent" style="display:inline" tabindex="-1"><div data-testid="responsive.visibility.wrapper" class="css-cenKGv"><section data-baseweb="block" class="css-gqcHgx"><div data-baseweb="block" class="css-hazmlH"><div data-baseweb="block" class="css-ofGld"><div data-baseweb="block" class="container-inner css-fVLpfI"><div data-baseweb="block" data-testid="block-container" class="css-bVFrLX"><div data-baseweb="block" class="css-bnsMK"><div class="rich-lfc-content" data-testid="content"><body><div><h1 class="rich-heading-h1">Introduction</h1></div></body><body><div><p class="rich-paragraph">Uber’s thousands of microservices handle traffic for over 170 million monthly active users: riders, Uber Eats users, drivers, and couriers. At the heart of this infrastructure are <a class="rich-link" href="https://www.uber.com/us/en/blog/schemaless-sql-database/?uclick_id=0ef55d57-e714-4820-8ab3-c3f30875480f" rel="noreferrer noopener" target="_blank">Docstore</a> and <a class="rich-link" href="https://www.uber.com/us/en/blog/schemaless-part-one-mysql-datastore/?uclick_id=0ef55d57-e714-4820-8ab3-c3f30875480f" rel="noreferrer noopener" target="_blank">Schemaless</a>, Uber’s in-house distributed databases built on top of MySQL®. These databases span thousands of clusters, store tens of petabytes of operational data, and serve tens of millions of requests per second with billions of rows read or updated. They back some of the most latency-sensitive and mission-critical workloads, powering every business vertical at Uber: from rides and deliveries to maps, payments, and beyond. </p></div></body><body><div><p class="rich-paragraph">At this scale, even minor overloads aren’t isolated events, they cascade. A brief spike in one part of the system can ripple outward: downstream services time out, retries pile up, and degradation amplifies into broader failure. In a multitenant environment, it’s also critical to ensure fairness and prevent any tenant from hogging all the resources. With workloads varying in traffic shape, latency profiles, and system impact, building effective overload protection is a uniquely challenging problem.</p></div></body><body><div><p class="rich-paragraph">The cost of getting overload protection wrong is steep. This blog shares how we built an intelligent load manager that detects overload from multiple signals to keep our databases stable and fair under pressure.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><h2 class="rich-heading-h2">Docstore and Schemaless</h2></div></body><body><div><p class="rich-paragraph">Before diving into the load manager that protects Uber’s databases, let’s walk through their architecture.</p></div></body><body><div><p class="rich-paragraph">While <a class="rich-link" href="https://www.uber.com/us/en/blog/schemaless-sql-database/?uclick_id=0ef55d57-e714-4820-8ab3-c3f30875480f" rel="noreferrer noopener" target="_blank">Docstore</a> supports transactions with full CRUD operations and <a class="rich-link" href="https://www.uber.com/us/en/blog/schemaless-part-one-mysql-datastore/?uclick_id=0ef55d57-e714-4820-8ab3-c3f30875480f" rel="noreferrer noopener" target="_blank">Schemaless</a> is optimized for append-only workloads, both share a common architectural foundation. It comprises three primary layers: a stateless query engine, a stateful storage engine, and a control plane. For the scope of this blog, we’ll focus on the query and storage engine layers.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129958" decoding="async" height="719" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9mYzFjMzUzYS1hZWQyLTU2N2QtYmVmMC1kYzc0NmEwYWU5ZDgucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 1: Docstore and Schemaless architecture.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><p class="rich-paragraph">The stateless query engine is responsible for query planning, request routing, sharding, schema management, authorization, request parsing, and validation. It serves as the routing layer: coordinating and validating client requests before handing them off to the storage layer.</p></div></body><body><div><p class="rich-paragraph">The stateful storage engine handles transaction management, connection pooling, consensus, and replication. Data is sharded across multiple partitions, with each partition consisting of one leader and two followers, coordinated via <a class="rich-link" href="https://www.scs.stanford.edu/~zyedidia/docs/papers/raft.pdf" rel="noreferrer noopener" target="_blank">Raft</a> to ensure strong consistency. Each partition is backed by MySQL nodes with locally attached NVMe SSDs, built to support high-throughput, low-latency workloads at scale.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><h2 class="rich-heading-h2">Challenges</h2></div></body><body><div><h3 class="rich-heading-h3">Quota-Based Rate Limiting in the Query Engine Layer</h3></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129957" decoding="async" height="517" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9lMDg2MmQ1Yi1hMTdjLTViNjMtYWEyYi02MTI1YWIzMWQ2YzIucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 2: Quota-based rate-limiting setup.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><p class="rich-paragraph">Initially, we explored a quota based rate-limiting approach within the stateless query engine layer. The concept was simple: assign each read and write request a capacity unit cost based on bytes processed, grant users fixed quotas, and return a 429 when those quotas were exceeded. Since routing nodes were stateless, we stored quota usage in a central Redis® cache. While conceptually sound, this approach didn’t hold up in production.</p></div></body><body><div><p class="rich-paragraph">First, it added unnecessary complexity. Every request required a Redis call, introducing a new point of failure and the overhead of an additional network hop.</p></div></body><body><div><p class="rich-paragraph">Further,<strong class="rich-bold"> </strong>for the stateless routing layer to accurately shed requests for an overloaded storage partition, it’d need to maintain realtime health and load information for thousands of partitions across the system. This introduced a lot of tracking overhead, undermining the scalability of the architecture.</p></div></body><body><div><p class="rich-paragraph">The cost model was also too imprecise. In Docstore and Schemaless, due to the way MySQL handles scanning and filtering, a query that performs a full table scan but returns a single row was assigned the same capacity cost as a query that only reads a single row. This fundamental flaw in our metering meant that lightweight and heavyweight operations were treated the same, making quota enforcement unreliable.</p></div></body><body><div><p class="rich-paragraph">Finally, quotas were defined statically, resulting in frequent requests from stakeholders to adjust their quotas, making them ineffective in multitenant environments. </p></div></body><body><div><p class="rich-paragraph">Despite its initial promise, this approach failed. But it gave us a crucial insight: overload management must live as close to the storage nodes as possible. That realization became a cornerstone of the final design in the stateful storage layer.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><h3 class="rich-heading-h3">Identifying the Right Signal for Overload</h3></div></body><body><div><p class="rich-paragraph">A core challenge in designing a resilient load manager is choosing a reliable signal for overload. Simple QPS-based rate limiting is too coarse. It fails to account for workload variability, often shedding too late or too early. What can be more effective is concurrency: the number of operations currently in flight. It directly reflects system load, following Little’s Law: <em class="rich-italic">Concurrency = Throughput × Latency</em>. In stateful systems, it maps closely to resource usage, making it a more dependable indicator.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><h3 class="rich-heading-h3">Balancing Resilience and Fairness</h3></div></body><body><div><p class="rich-paragraph">Balancing resilience and fairness is a core challenge in multitenant systems. During ‌system-wide stress, we want to shed traffic by priority, dropping low-priority requests first. But when a single noisy actor hogs resources without triggering global overload, we also need per-tenant rate limiting that works independently of the system load. This dual requirement led us to combine dynamic overload detectors with fairness enforcement mechanisms that operate in parallel.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><h2 class="rich-heading-h2">Building the Foundation of a Unified Load Manager</h2></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129961" decoding="async" height="633" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9hZWI1ZTNkNS1kZDc0LTUyMTAtOTgyOS1mYjYzYzc1Y2Q4ZWYucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 3: Initial load manager setup with CoDel queue.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><h3 class="rich-heading-h3">Controlled Delay: Smarter Queuing Under Pressure</h3></div></body><body><div><p class="rich-paragraph">The load-shedding journey began with <a class="rich-link" href="https://queue.acm.org/detail.cfm?id=2209336" rel="noreferrer noopener" target="_blank">CoDel</a> (Controlled Delay), a concept borrowed from networking to combat bufferbloat. Instead of shedding based on queue length, CoDel looks at how long requests wait in the queue: favoring responsiveness over volume.</p></div></body><body><div><p class="rich-paragraph">We implemented separate CoDel queues for each operation type:</p></div></body><body><div><ul class="rich-list-ul"> <li class="rich-list-item"><strong class="rich-bold">Read queue</strong>: for point lookups and light queries</li> <li class="rich-list-item"><strong class="rich-bold">Write queue</strong>: for insert, update, and upsert operations</li> <li class="rich-list-item"><strong class="rich-bold">Slow queue</strong>: for long-running and background operations like scans, deletes, or replication</li> </ul></div></body><body><div><p class="rich-paragraph">Each queue was managed independently, giving us better isolation across workloads.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129956" decoding="async" height="840" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy84MWJiOTQ3Zi00ZWFmLTU2NTctYjg4NS1mZmE1M2IzNjBlY2MucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 4: CoDel queue behavior.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><p class="rich-paragraph">FIFO queuing wasn’t enough because a pure FIFO queue processes requests in arrival order, which works well when traffic is stable. But under overload, FIFO creates a trap: old requests accumulate, wait too long, and often get abandoned or retried by the client. This results in wasted work. Meanwhile, fresh requests, still relevant and likely to succeed, sit idle at the end of the line.</p></div></body><body><div><p class="rich-paragraph">CoDel introduces adaptive LIFO to solve this. Figure 5 shows how it works.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129954" decoding="async" height="211" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8yMmNlMTgyNi03YTYwLTU3NzctYTFmNy0wOTU4NmVkZTFiMzUucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 5: CoDel algorithm.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><p class="rich-paragraph">Under normal load, the queue behaves as FIFO. Under pressure, it switches to LIFO, favoring newer requests that still have a chance to succeed. This simple shift improves responsiveness by failing fast, shedding stale work, and giving fresh requests priority. </p></div></body><body><div><h3 class="rich-heading-h3">Scorecard Engine</h3></div></body><body><div><p class="rich-paragraph">The Scorecard engine is a rule-based admission control component and a lightweight quota system designed to enforce per-tenant concurrency limits in multitenant environments. While load-shedding protects the system during overload, Scorecard ensures that no single tenant can dominate shared infrastructure, even in normal conditions. </p></div></body><body><div><p class="rich-paragraph">The configuration is simple and deterministic.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129955" decoding="async" height="180" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8yMjZlYWI0My0xY2NiLTVlZjEtYTcyOS0wNzlhMjc4YTE4YjIucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 6: Scorecard rules.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><p class="rich-paragraph">The primary benefit of the Scorecard lies in incident containment. It helps pinpoint the source of disruption during outages or traffic spikes. It isolates and caps misbehaving tenants without disrupting others, balances stability during normal load with strict limits under stress, and reduces blast radius during overload events by enforcing boundaries quickly and deterministically.</p></div></body><body><div><p class="rich-paragraph">The Scorecard provides predictable fairness and blast radius control, especially when multiple tenants are competing for shared resources.</p></div></body><body><div><h3 class="rich-heading-h3">Regulators</h3></div></body><body><div><p class="rich-paragraph">While Scorecard protects against concurrency-based overuse, it doesn’t cover all the ways a stateful database system can overload. Some forms of skews are subtle. They don’t show up in concurrency saturation, but they can still degrade system performance if left unchecked.</p></div></body><body><div><p class="rich-paragraph">For example, a low QPS caller can still overload the system by sending large write payloads. Or, traffic skewed to one partition key can overload a single cluster while others sit idle.</p></div></body><body><div><p class="rich-paragraph">To guard against these skewed behaviors, we introduced plug-in regulators: node-local overload detectors that enforce invariants the system mustn’t violate. They rarely trigger during healthy operation, and that’s by design. At the same time, when users accidentally create hotspots or large data ingestions, regulators kick in to prevent cascading failures.</p></div></body><body><div><p class="rich-paragraph">We use these regulators:</p></div></body><body><div><ul class="rich-list-ul"> <li class="rich-list-item"><strong class="rich-bold">Write bytes regulator: </strong>Limits concurrent write volume to prevent I/O saturation</li> <li class="rich-list-item"><strong class="rich-bold">Partition key regulator: </strong>Throttles traffic targeting hot partition keys</li> <li class="rich-list-item"><strong class="rich-bold">Memory regulator:</strong> Tracks free process memory and throttles when we’re low on memory</li> <li class="rich-list-item"><strong class="rich-bold">Goroutines regulator:</strong> Tracks total number of goroutines and throttles when it exceeds threshold</li> </ul></div></body><body><div><h3 class="rich-heading-h3">What Worked Well</h3></div></body><body><div><p class="rich-paragraph">By shedding excess requests, our CoDel queues prevented runaway resource exhaustion, which led to improved stability and a higher success rate for accepted requests. This approach was particularly effective at ensuring that core system functionality remained available during overloads.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129959" decoding="async" height="557" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy83MzdiYzc5Ny05MDU3LTU2ZjUtYTcxZC03YmJlODJmN2RkOWIucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 7: Improved availability.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><p class="rich-paragraph">The Scorecard engine successfully isolated misbehaving tenants by enforcing per-tenant concurrency limits. This allowed us to quickly contain disruptions from noisy neighbors without penalizing other users, ensuring that shared resources were used fairly.</p></div></body><body><div><h3 class="rich-heading-h3">Limitations</h3></div></body><body><div><p class="rich-paragraph">While this initial setup laid the foundation for overload protection and fairness, it came with a few limitations. First, CoDel treated all requests equally, dropping low-priority and user-facing traffic alike, leading to a bad customer experience and increased on-call load.</p></div></body><body><div><p class="rich-paragraph">CoDel also relied on fixed queue timeouts and static inflight concurrency limits, which can be a low-fidelity solution for a dynamic system, requiring frequent manual tuning and leading to operational toil.</p></div></body><body><div><p class="rich-paragraph">The fixed, static wait times in CoDel led to a thundering herd problem. When requests were eventually rejected, they’d all retry at once, triggering repeated cycles of overload and rejection. During these periods, the lack of traffic differentiation meant even high-priority requests were dropped, leading to customer-visible errors and amplifying the blast radius.</p></div></body><body><div><p class="rich-paragraph">Ultimately, it kept things from breaking, but lacked the nuance and dynamism required for a high-quality user experience. This highlighted the need for dynamic and priority-aware queues.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><h2 class="rich-heading-h2">Evolving the Architecture</h2></div></body><body><div><h3 class="rich-heading-h3">Cinnamon Replaces CoDel</h3></div></body><body><div><p class="rich-paragraph">We observed that many overloads stemmed from low-priority, asynchronous jobs: pipelines, aggregators, and internal garbage collection flows. These shouldn’t have the same survivability as ride requests or real-time pricing queries.</p></div></body><body><div><p class="rich-paragraph">To address this, we replaced CoDel with <a class="rich-link" href="https://www.uber.com/us/en/blog/cinnamon-using-century-old-tech-to-build-a-mean-load-shedder/" rel="noreferrer noopener" target="_blank">Cinnamon</a>, a priority-aware load shedder developed by the Delivery team at Uber. Cinnamon makes smarter shedding decisions by considering request rank, dynamic system state, and the relative importance of workloads. </p></div></body><body><div><p class="rich-paragraph">Request rank is derived from the priority attached to the request, and if no explicit priority is present, Cinnamon assigns a default based on the calling service. Priority is defined using a tiering model from tier 0 (t0) for the most critical traffic to tier 5 (t5) for the least. While t0 is reserved for a small subset of critical infrastructure services, t1 represents the most important user facing online traffic, the core workloads we aim to protect during overloads. This system allows Cinnamon to shed lower-priority traffic first during overload.</p></div></body><body><div><p class="rich-paragraph">With request priority awareness in place, we simplified the queue structure to just read and write queues. Long-running and background operations were marked with lower priority instead of having a separate queue.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129960" decoding="async" height="647" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8yYzVkMjBkNS02ZmIwLTUzNTItYTMyMi1iOTZmY2QxNmZkMjIucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 8: Updated load shedder setup with Cinnamon queue.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><p class="rich-paragraph">Before Cinnamon, the<strong class="rich-bold"> </strong>CoDel queue load shedder<strong class="rich-bold"> </strong>was priority-agnostic and shedding during overload was indiscriminate.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129963" decoding="async" height="701" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9kOWIyZGZlYS05Y2I5LTUyNjctYWNhNy0xNGM3MDBkMTVhZWQucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 9: Priority Agnostic Load shedder setup with CoDel queue.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><p class="rich-paragraph">After Cinnamon, the queue load shedder<strong class="rich-bold"> </strong>was priority-aware and shedding during overload<strong class="rich-bold"> </strong>happened<strong class="rich-bold"> </strong>in order of priority.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129964" decoding="async" height="653" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9lOGVhYTA5MC0zMTc4LTU1YmMtYjcwZC1kMGZjOThjYzM1Y2EucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 10: Priority Aware Load shedder setup with Cinnamon queue.</figcaption></figure></div></body><body><div><h3 class="rich-heading-h3">Performance and Stability Gains</h3></div></body><body><div><p class="rich-paragraph">We saw performance and stability gains from the Cinnamon-based design. Requests are ranked, allowing Cinnamon to shed low-priority traffic first, protecting user facing flows. During overloads, critical user-facing requests are better protected with minimal impact. </p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129971" decoding="async" height="1014" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9hNDEyYTFhNy0yNDMxLTVhOGQtYTk0OS0wMzExMjkzYzcyNWQucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 11: Prioritized shedding in action.</figcaption></figure></div></body><body><div><p class="rich-paragraph">Cinnamon also adapts queue timeout thresholds using P90 latency metrics, eliminating the need for manual tuning. Moreover, its <a class="rich-link" href="https://www.uber.com/blog/cinnamon-auto-tuner-adaptive-concurrency-in-the-wild/" rel="noreferrer noopener" target="_blank">Auto Tuner</a> dynamically adjusts inflight limits, represented by the available slots in the blue box in Figure 10, to maximize throughput. It does this by continuously monitoring and reacting to realtime latency and error rate signals, ensuring stable and effective load shedding.</p></div></body><body><div><p class="rich-paragraph">Unlike CoDel’s static approach, which aggressively rejects all requests after a fixed wait time, like 5 milliseconds, Cinnamon’s <a class="rich-link" href="https://www.uber.com/us/en/blog/pid-controller-for-cinnamon/" rel="noreferrer noopener" target="_blank">PID-based control</a> allows the system to absorb pressure without overreacting. It dynamically adjusts queue timeouts and inflight limits based on realtime latency and error signals, shedding only when necessary. This prevents a large class of premature shedding that would otherwise lead to unnecessary rejections, retries, and thundering herd effects. The result is smoother recovery, fewer 429s, and more consistent availability without compromising system health.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129966" decoding="async" height="252" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9mOGQ0YTUxNi03ZmNiLTVjNjEtOTU1NS1hOTNiYWE3ZTNjZGMucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 12: Reduced premature shedding.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><h3 class="rich-heading-h3">Areas for Improvement</h3></div></body><body><div><p class="rich-paragraph">Despite the gains from Cinnamon, some key challenges remained, highlighting the need for a unified platform.</p></div></body><body><div><p class="rich-paragraph">The load manager acted based on the local health of the server, tracking signals like inflight concurrency, write bytes, or memory usage. But in distributed systems, overload isn’t always local. A leader node may need to shed traffic because follower nodes are lagging, even if it’s healthy itself. We call this commit index lag. Traditionally, external components using token-bucket-based rate limiters handled such remote shedding decisions. These were easy to build but proved ineffective at scale, introducing split-brain behaviors and globally suboptimal shedding decisions.</p></div></body><body><div><p class="rich-paragraph">The initial design was excellent for concurrency-based shedding, but it wasn’t built to be a reusable platform for future overload signals that would inevitably arise from a growing system.</p></div></body><body><div><p class="rich-paragraph">These insights led us to the final evolution of our system: transforming Cinnamon from a concurrency only shedder into a truly general purpose overload control engine. By consolidating all signals into a single, modular decision-making loop, we achieved holistic and consistent overload management.<br></p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><h2 class="rich-heading-h2">The Unified Load Shedding Engine</h2></div></body><body><div><h3 class="rich-heading-h3">Centralizing Overload Decisions</h3></div></body><body><div><p class="rich-paragraph">We enhanced Cinnamon to support pluggable external signals like follower commit lags, enabling the system to make globally informed, priority-aware shedding decisions within the same admission control path. This shift unified local and remote overload logic into a single control loop, closing the gaps that previously caused instability.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129965" decoding="async" height="640" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8xMmZkZjAwYy00MGY1LTU2Y2UtYmY4MS01MDA5OWFjYTBjYjcucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 13: Unified load-shedding engine in Cinnamon.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><p class="rich-paragraph">But shedding isn’t always a one-size-fits-all decision and that’s where the load manager architecture shines. Built on a BYOS (Bring Your Own Signal) ethos, it provides a pluggable framework that lets the team embed new overload signals and route them to the right control path. Whether the pressure is systemic or actor-specific, the load manager sheds broadly by priority or precisely by caller, based on the signal. </p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129962" decoding="async" height="275" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8xY2I2MDczYy03ZGNiLTViNzItOGU4OS02NGVkZjYyYTNhNDQucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 14: Bring your own signal.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><h3 class="rich-heading-h3">The Payoff: Unified Control, Simplified Load Management</h3></div></body><body><div><p class="rich-paragraph">The shift to a centralized, pluggable architecture made the system more stable and predictable, with real wins.</p></div></body><body><div><p class="rich-paragraph">Cinnamon sheds excess requests immediately using a PID controller, avoiding the memory and goroutine buildup caused by token bucket limiters. This led to lower tail latencies and a leaner resource usage profile, even under heavy load. We saw: </p></div></body><body><div><ul class="rich-list-ul"> <li class="rich-list-item">80% increase in throughput under overload (QPS average of 5,400 versus 3,000)</li> <li class="rich-list-item">~70% reduction in P99 latency (upsert average of 1.0 seconds versus 3.1 seconds)</li> <li class="rich-list-item">~93% fewer goroutines during overload (peak 10,000 versus 150,000)</li> <li class="rich-list-item">~60% lower heap usage (1 GB max versus 5-6 GB spikes)</li> </ul></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129969" decoding="async" height="514" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8zOTNkMDZlYi1hNjYyLTU1NDEtOGM3NS0wODU4OWRhMTQ2ZjMucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 15A: (Before) Token bucket latency and resource profile.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129970" decoding="async" height="508" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wNjYzZDlkYS1mMzc5LTUzOWQtOGVjMi02OTdkZjBlNDY2YjMucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 15B: (After) Cinnamon latency and resource profile.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><p class="rich-paragraph"><br>We also saw smoother, more predictable shedding behavior. Without PID regulation, shedding acts like a hammer: reactive and abrupt. With it, it’s more like a dimmer switch: smooth and stable. The difference is clear when comparing how commit lag stabilizes under a token bucket limiter versus Cinnamon’s PID-based controller.</p></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129967" decoding="async" height="429" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy83OWFkMWFlNi1iNmVhLTVlZGQtYmIyMi03YTM5YWQ5ZjQ0OGQucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 16A: (Before) Token bucket spiky shedding pattern.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><figure class="rich-figure"><img alt="" class="wp-image-1129968" decoding="async" height="355" loading="lazy" sizes="auto, (max-width: 1024px) 100vw, 1024px" src="https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy85NTQ4MjY0ZS00MDVhLTVhMzgtODEzOC0wYmViZmUwMzM0YjcucG5n" width="1024"><figcaption class="rich-figure-caption">Figure 16B: (After) Cinnamon’s stable shedding pattern.</figcaption></figure></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><h2 class="rich-heading-h2">Lessons Learned </h2></div></body><body><div><ul class="rich-list-ul"> <li class="rich-list-item"><strong class="rich-bold">Prioritization is paramount.</strong> Effective load-shedding starts with deciding what matters most. Protect critical, user-facing traffic first. Everything else is secondary.</li> <li class="rich-list-item"><strong class="rich-bold">Fail fast, don’t block.</strong> Rejecting early is almost always better than holding requests in memory until they expire. It reduces wasted work, keeps latencies predictable, prevents OOMs, and makes the system more resilient under stress.</li> <li class="rich-list-item"><strong class="rich-bold">PID regulation for stable shedding</strong>. Simple, reactive shedding based solely on current error rates often causes instability, overcorrecting too late, and too hard. PID based regulation brings balance by incorporating system history and directional trends, making it a critical tool for smooth, sustained, and resilient overload control.</li> <li class="rich-list-item"><strong class="rich-bold">Place control close to the source of truth.</strong> The best shedding decisions happen where the state lives. Protection in the layer that has full context, typically the storage layer in stateful systems.</li> <li class="rich-list-item"><strong class="rich-bold">Embrace dynamism. </strong>Avoid static configurations wherever possible. Your system should be intelligent enough to adapt to different scenarios, based on the context.</li> <li class="rich-list-item"><strong class="rich-bold">Invest in visibility and monitoring. </strong>Good observability is the foundation for tuning and trust. Track what’s being shed, why it’s being shed, and how each component contributes to system pressure.</li> <li class="rich-list-item"><strong class="rich-bold">Simplicity over complexity.</strong> This is a meta principle that guides all the other decisions. </li> </ul></div></body><body><div><hr class="wp-block-separator has-alpha-channel-opacity" data-wp-block-name="core/separator"></div></body><body><div><h1 class="rich-heading-h1">Conclusion</h1></div></body><body><div><p class="rich-paragraph">Our journey to a resilient load manager was defined by the unique complexities of a large-scale, stateful, and distributed environment. By unifying disparate components into a single decision-making brain and adopting a Bring Your Own Signal model, we gained the flexibility to handle systemic overloads and localized noisy neighbor issues with precision. The result is a load management system that sheds smarter in a priority-aware manner, keeps tail latencies low, and drastically reduces operational toil. </p></div></body><body><div><p class="rich-paragraph">If you like challenges related to distributed systems, databases, storage, and cache, apply for open positions <a class="rich-link" href="https://www.uber.com/us/en/careers/list/?query=storage&amp;department=Engineering" rel="noreferrer noopener" target="_blank">here</a>.</p></div></body><body><div><h2 class="rich-heading-h2">Acknowledgments</h2></div></body><body><div><p class="rich-paragraph">A project of this scope is rarely accomplished alone. Our sincere thanks to Rich Porter, Jesper Nielsen, Piyush Patel, and the engineers from the Storage and Delivery teams for their guidance and collaboration throughout this journey. From design reviews to on-call insights, their contributions were instrumental in building a resilient system that now safeguards some of Uber’s most critical infrastructure.</p></div></body><body><div><p class="rich-paragraph"><em class="rich-italic">Cover Photo Attribution: “<a class="rich-link" href="https://www.pexels.com/photo/heavy-traffic-jam-in-urban-city-center-32487428/">Heavy Traffic Jam in Urban City Center</a>” by <a class="rich-link" href="https://www.pexels.com/@dapur-melodi-192125/">Dapur Melodi</a></em></p></div></body><body><div><p class="rich-paragraph"><em class="rich-italic">MySQL is a registered trademark of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.</em></p></div></body><body><div><p class="rich-paragraph"><em class="rich-italic">Redis is a trademark of Redis Labs Ltd. Any rights therein are reserved to Redis Labs Ltd. Any use herein is for referential purposes only and does not indicate any sponsorship, endorsement or affiliation between Redis and Uber.</em></p></div></body></div></div></div></div></div></div></section></div></div><div data-block-content-id="43e4ae80-60a3-42bd-b968-a3fb35e810e3" data-block-id="ArticleCategories" style="display:inline" tabindex="-1"><div data-testid="responsive.visibility.wrapper" class="css-cenKGv"><section data-baseweb="block" class="css-gqcHgx"><div data-baseweb="block" class="css-hazmlH"><div data-baseweb="block" class="css-ofGld"><div data-baseweb="block" class="container-inner css-fVLpfI"><div data-baseweb="block" data-testid="block-container" class="css-bVFrLX"><div data-baseweb="block" class="css-HXvWP"><div class="css-dQDsac">Category</div><div class="css-laJbgX"><a class="css-dahbuC" href="/us/en/blog/engineering/"><span data-baseweb="tag" class="css-jgYIWw"><span title="Engineering" class="css-jAylDS">Engineering</span></span></a><a class="css-dahbuC" href="/us/en/blog/engineering/backend/"><span data-baseweb="tag" class="css-jgYIWw"><span title="Backend" class="css-jAylDS">Backend</span></span></a></div></div></div></div></div></div></section></div></div><div data-block-content-id="1f33a1b6-ab85-472f-a9bf-3188fa69a6b1" data-block-id="ArticleAuthor" style="display:inline" tabindex="-1"><div data-testid="responsive.visibility.wrapper" class="css-cenKGv"><section data-baseweb="block" class="css-Yerqw"><div data-baseweb="block" class="css-hazmlH"><div data-baseweb="block" class="css-ofGld"><div data-baseweb="block" class="container-inner css-kHWzwv"><div data-baseweb="block" data-testid="block-container" class="css-bVFrLX"><div data-baseweb="block" class="css-fLCWQY"><div class="css-hByTyl"><div data-baseweb="typo-labelmedium" class="css-ingCMH">Written by</div></div><div class="css-kwWKra" data-testid="authors-grid"><div class="css-cCDVuf"><div aria-label="Dhyanam Vaidya" role="img" data-baseweb="avatar" class="css-iclDxs"><img alt="Dhyanam Vaidya" class="css-eUNfLQ"/><div class="css-cKXFfR">DV</div></div><div class="css-lpcwSG"><div class="css-czUDWs"><p data-baseweb="typo-paragraphlarge" class="css-eoiIol">Dhyanam Vaidya</p><p data-baseweb="typo-paragraphsmall" class="css-kVLeBt"></p></div><p data-baseweb="typo-paragraphsmall" class="css-gLZtvz">Dhyanam Vaidya is a Software Engineer on Uber’s Storage Platform team. He’s contributed to the design and implementation of many Docstore features. His work focuses on improving the reliability, resilience, and operational efficiency of Uber’s distributed databases at scale.</p></div></div><div class="css-cCDVuf"><div aria-label="Prathamesh Deshpande" role="img" data-baseweb="avatar" class="css-iclDxs"><img alt="Prathamesh Deshpande" class="css-eUNfLQ"/><div class="css-cKXFfR">PD</div></div><div class="css-lpcwSG"><div class="css-czUDWs"><p data-baseweb="typo-paragraphlarge" class="css-eoiIol">Prathamesh Deshpande</p><p data-baseweb="typo-paragraphsmall" class="css-kVLeBt"></p></div><p data-baseweb="typo-paragraphsmall" class="css-gLZtvz">Prathamesh Deshpande is a Staff Engineer on Uber’s Storage Platform team, building database features and distributed storage systems that meet Uber’s global reliability and performance requirements. His work focuses on large-scale data management, distributed database storage systems, and platform reliability.</p></div></div><div class="css-cCDVuf"><div aria-label="Mike Ma" role="img" data-baseweb="avatar" class="css-iclDxs"><img alt="Mike Ma" class="css-eUNfLQ"/><div class="css-cKXFfR">MM</div></div><div class="css-lpcwSG"><div class="css-czUDWs"><p data-baseweb="typo-paragraphlarge" class="css-eoiIol">Mike Ma</p><p data-baseweb="typo-paragraphsmall" class="css-kVLeBt"></p></div><p data-baseweb="typo-paragraphsmall" class="css-gLZtvz">Mike Ma is a Staff Software Engineer on Uber’s Storage Platform team, where he has contributed to multiple core components of both Schemaless and Docstore. His work focuses on scalability, reliability, performance, and operational excellence across Uber’s large scale distributed databases.</p></div></div><div class="css-cCDVuf"><div aria-label="Chaitanya Yalamanchili" role="img" data-baseweb="avatar" class="css-iclDxs"><img alt="Chaitanya Yalamanchili" class="css-eUNfLQ"/><div class="css-cKXFfR">CY</div></div><div class="css-lpcwSG"><div class="css-czUDWs"><p data-baseweb="typo-paragraphlarge" class="css-eoiIol">Chaitanya Yalamanchili</p><p data-baseweb="typo-paragraphsmall" class="css-kVLeBt"></p></div><p data-baseweb="typo-paragraphsmall" class="css-gLZtvz">Chaitanya Yalamanchili is a Sr. Manager and technical lead on Uber’s Storage Platform team. He leads the development of online distributed storage systems with a focus on providing a world-class platform that powers all the critical business functions and lines of business at Uber. The platform serves tens of millions of QPS and stores tens of Petabytes of operational data.</p></div></div></div></div></div></div></div></div></section></div></div><div data-block-content-id="548dce41-afef-4963-aed3-c342568a8aa9" data-block-id="ArticleFeed" style="display:inline" tabindex="-1"><div data-testid="responsive.visibility.wrapper" class="css-cenKGv"><div><section data-baseweb="block" class="css-gqcHgx"><div data-baseweb="block" class="css-hazmlH"><div data-baseweb="block" class="css-ofGld"><div data-baseweb="block" class="container-inner css-fVLpfI"><div data-baseweb="block" data-testid="block-container" class="css-bVFrLX"><div data-baseweb="block" class="css-HXvWP"><div class="css-gowlgP"><div class="css-jKvvYG"><div class="css-fIxJXI">Related Articles</div><div class="css-hxCswv">6 articles</div></div></div><div data-baseweb="block" class="css-bzLBFK css-PKJb"><div data-baseweb="block" class="css-dtrVZw css-PKJb" data-testid="newsroom-article-feed-grid"><div class="css-kwNuyP" data-testid="newsroom-article-feed-card"><div data-baseweb="aspect-ratio-box" class="css-cOsLzB"><div data-baseweb="aspect-ratio-box-body" class="css-eleJdh"><picture><source media="screen and (min-width: 1136px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=605/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9mNmRjOWQ5NS0yOTE4LTQyNjEtYjVlMy1lNzU1M2U3ZGNmZTEuanBlZw==, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1210/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9mNmRjOWQ5NS0yOTE4LTQyNjEtYjVlMy1lNzU1M2U3ZGNmZTEuanBlZw== 2x"/><source media="screen and (min-width: 600px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=561/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9mNmRjOWQ5NS0yOTE4LTQyNjEtYjVlMy1lNzU1M2U3ZGNmZTEuanBlZw==, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1122/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9mNmRjOWQ5NS0yOTE4LTQyNjEtYjVlMy1lNzU1M2U3ZGNmZTEuanBlZw== 2x"/><source media="screen and (min-width: 320px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=407/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9mNmRjOWQ5NS0yOTE4LTQyNjEtYjVlMy1lNzU1M2U3ZGNmZTEuanBlZw==, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=814/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9mNmRjOWQ5NS0yOTE4LTQyNjEtYjVlMy1lNzU1M2U3ZGNmZTEuanBlZw== 2x"/><img src="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=407/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9mNmRjOWQ5NS0yOTE4LTQyNjEtYjVlMy1lNzU1M2U3ZGNmZTEuanBlZw==" alt="" loading="lazy" fetchpriority="low" class="css-etAiCK"/></picture></div></div><div class="css-bpyykn"></div><div class="css-hxGQNi"><div data-baseweb="block" class="css-fPItWk css-PKJb"><div class="css-lnzgHT"><div><span data-baseweb="tag" class="css-jgYIWw"><span title="Backend" class="css-bZnCM">Backend</span></span></div><div><span data-baseweb="tag" class="css-jgYIWw"><span title="Engineering" class="css-bZnCM">Engineering</span></span></div></div><div class="css-bfYiUy"><a class="css-gkIDnk" href="https://www.uber.com/us/en/blog/evolving-ubers-compute-platform/">From One Horizontal Scaling Controller to Many: Evolving Uber&#x27;s Compute Platform</a></div><div class="css-bGyOjB">September 9, 2026</div></div></div><a aria-hidden="true" class="css-jeuDjw" href="https://www.uber.com/us/en/blog/evolving-ubers-compute-platform/" tabindex="-1"></a></div><div class="css-kwNuyP" data-testid="newsroom-article-feed-card"><div data-baseweb="aspect-ratio-box" class="css-cOsLzB"><div data-baseweb="aspect-ratio-box-body" class="css-eleJdh"><picture><source media="screen and (min-width: 1136px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=605/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy81OWUwY2EwNC03NDEyLTQyOTMtOWMzNi0yZjM2ZTA1M2Q5ZmEucG5n, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1210/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy81OWUwY2EwNC03NDEyLTQyOTMtOWMzNi0yZjM2ZTA1M2Q5ZmEucG5n 2x"/><source media="screen and (min-width: 600px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=561/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy81OWUwY2EwNC03NDEyLTQyOTMtOWMzNi0yZjM2ZTA1M2Q5ZmEucG5n, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1122/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy81OWUwY2EwNC03NDEyLTQyOTMtOWMzNi0yZjM2ZTA1M2Q5ZmEucG5n 2x"/><source media="screen and (min-width: 320px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=407/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy81OWUwY2EwNC03NDEyLTQyOTMtOWMzNi0yZjM2ZTA1M2Q5ZmEucG5n, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=814/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy81OWUwY2EwNC03NDEyLTQyOTMtOWMzNi0yZjM2ZTA1M2Q5ZmEucG5n 2x"/><img src="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=407/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy81OWUwY2EwNC03NDEyLTQyOTMtOWMzNi0yZjM2ZTA1M2Q5ZmEucG5n" alt="" loading="lazy" fetchpriority="low" class="css-etAiCK"/></picture></div></div><div class="css-bpyykn"></div><div class="css-hxGQNi"><div data-baseweb="block" class="css-fPItWk css-PKJb"><div class="css-lnzgHT"><div><span data-baseweb="tag" class="css-jgYIWw"><span title="Backend" class="css-bZnCM">Backend</span></span></div><div><span data-baseweb="tag" class="css-jgYIWw"><span title="Engineering" class="css-bZnCM">Engineering</span></span></div></div><div class="css-bfYiUy"><a class="css-gkIDnk" href="https://www.uber.com/us/en/blog/from-chaos-to-control/">From Chaos to Control: Addressing Shard Distribution Challenges in M3DB with Subclusters</a></div><div class="css-bGyOjB">September 1, 2026</div></div></div><a aria-hidden="true" class="css-jeuDjw" href="https://www.uber.com/us/en/blog/from-chaos-to-control/" tabindex="-1"></a></div><div class="css-kwNuyP" data-testid="newsroom-article-feed-card"><div data-baseweb="aspect-ratio-box" class="css-cOsLzB"><div data-baseweb="aspect-ratio-box-body" class="css-eleJdh"><picture><source media="screen and (min-width: 1136px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=605/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wOGZkYTRmZS00NzA0LTQ0ZWMtOWNjNi05NjNjNGY5YWNmYzMucG5n, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1210/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wOGZkYTRmZS00NzA0LTQ0ZWMtOWNjNi05NjNjNGY5YWNmYzMucG5n 2x"/><source media="screen and (min-width: 600px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=561/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wOGZkYTRmZS00NzA0LTQ0ZWMtOWNjNi05NjNjNGY5YWNmYzMucG5n, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1122/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wOGZkYTRmZS00NzA0LTQ0ZWMtOWNjNi05NjNjNGY5YWNmYzMucG5n 2x"/><source media="screen and (min-width: 320px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=407/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wOGZkYTRmZS00NzA0LTQ0ZWMtOWNjNi05NjNjNGY5YWNmYzMucG5n, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=814/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wOGZkYTRmZS00NzA0LTQ0ZWMtOWNjNi05NjNjNGY5YWNmYzMucG5n 2x"/><img src="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=407/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wOGZkYTRmZS00NzA0LTQ0ZWMtOWNjNi05NjNjNGY5YWNmYzMucG5n" alt="" loading="lazy" fetchpriority="low" class="css-etAiCK"/></picture></div></div><div class="css-bpyykn"></div><div class="css-hxGQNi"><div data-baseweb="block" class="css-fPItWk css-PKJb"><div class="css-lnzgHT"><div><span data-baseweb="tag" class="css-jgYIWw"><span title="AI / ML" class="css-bZnCM">AI / ML</span></span></div><div><span data-baseweb="tag" class="css-jgYIWw"><span title="Engineering" class="css-bZnCM">Engineering</span></span></div></div><div class="css-bfYiUy"><a class="css-gkIDnk" href="https://www.uber.com/us/en/blog/efficient-software-factory/">Running a Software Factory Efficiently at Uber Scale</a></div><div class="css-bGyOjB">August 27, 2026</div></div></div><a aria-hidden="true" class="css-jeuDjw" href="https://www.uber.com/us/en/blog/efficient-software-factory/" tabindex="-1"></a></div><div class="css-kwNuyP" data-testid="newsroom-article-feed-card"><div data-baseweb="aspect-ratio-box" class="css-cOsLzB"><div data-baseweb="aspect-ratio-box-body" class="css-eleJdh"><picture><source media="screen and (min-width: 1136px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=605/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wYmI3ZmI0MC02YTAzLTQ4NzItYTk2YS1mYWUyNDlmYTFhN2YucG5n, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1210/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wYmI3ZmI0MC02YTAzLTQ4NzItYTk2YS1mYWUyNDlmYTFhN2YucG5n 2x"/><source media="screen and (min-width: 600px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=561/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wYmI3ZmI0MC02YTAzLTQ4NzItYTk2YS1mYWUyNDlmYTFhN2YucG5n, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1122/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wYmI3ZmI0MC02YTAzLTQ4NzItYTk2YS1mYWUyNDlmYTFhN2YucG5n 2x"/><source media="screen and (min-width: 320px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=407/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wYmI3ZmI0MC02YTAzLTQ4NzItYTk2YS1mYWUyNDlmYTFhN2YucG5n, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=814/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wYmI3ZmI0MC02YTAzLTQ4NzItYTk2YS1mYWUyNDlmYTFhN2YucG5n 2x"/><img src="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=407/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wYmI3ZmI0MC02YTAzLTQ4NzItYTk2YS1mYWUyNDlmYTFhN2YucG5n" alt="" loading="lazy" fetchpriority="low" class="css-etAiCK"/></picture></div></div><div class="css-bpyykn"></div><div class="css-hxGQNi"><div data-baseweb="block" class="css-fPItWk css-PKJb"><div class="css-lnzgHT"><div><span data-baseweb="tag" class="css-jgYIWw"><span title="AI / ML" class="css-bZnCM">AI / ML</span></span></div><div><span data-baseweb="tag" class="css-jgYIWw"><span title="Data" class="css-bZnCM">Data</span></span></div><div><span data-baseweb="tag" class="css-jgYIWw"><span title="Engineering" class="css-bZnCM">Engineering</span></span></div></div><div class="css-bfYiUy"><a class="css-gkIDnk" href="https://www.uber.com/us/en/blog/running-cost-efficient-export/">Running Cost-Efficient Export Workloads at Uber</a></div><div class="css-bGyOjB">August 12, 2026</div></div></div><a aria-hidden="true" class="css-jeuDjw" href="https://www.uber.com/us/en/blog/running-cost-efficient-export/" tabindex="-1"></a></div><div class="css-kwNuyP" data-testid="newsroom-article-feed-card"><div data-baseweb="aspect-ratio-box" class="css-cOsLzB"><div data-baseweb="aspect-ratio-box-body" class="css-eleJdh"><picture><source media="screen and (min-width: 1136px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=605/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9jZWFiNGQ0ZC1kYjg5LTQ3ZGItYmE0Ni05NzE3ODU2YzgyYTMucG5n, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1210/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9jZWFiNGQ0ZC1kYjg5LTQ3ZGItYmE0Ni05NzE3ODU2YzgyYTMucG5n 2x"/><source media="screen and (min-width: 600px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=561/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9jZWFiNGQ0ZC1kYjg5LTQ3ZGItYmE0Ni05NzE3ODU2YzgyYTMucG5n, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1122/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9jZWFiNGQ0ZC1kYjg5LTQ3ZGItYmE0Ni05NzE3ODU2YzgyYTMucG5n 2x"/><source media="screen and (min-width: 320px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=407/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9jZWFiNGQ0ZC1kYjg5LTQ3ZGItYmE0Ni05NzE3ODU2YzgyYTMucG5n, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=814/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9jZWFiNGQ0ZC1kYjg5LTQ3ZGItYmE0Ni05NzE3ODU2YzgyYTMucG5n 2x"/><img src="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=407/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9jZWFiNGQ0ZC1kYjg5LTQ3ZGItYmE0Ni05NzE3ODU2YzgyYTMucG5n" alt="" loading="lazy" fetchpriority="low" class="css-etAiCK"/></picture></div></div><div class="css-bpyykn"></div><div class="css-hxGQNi"><div data-baseweb="block" class="css-fPItWk css-PKJb"><div class="css-lnzgHT"><div><span data-baseweb="tag" class="css-jgYIWw"><span title="Backend" class="css-bZnCM">Backend</span></span></div><div><span data-baseweb="tag" class="css-jgYIWw"><span title="Engineering" class="css-bZnCM">Engineering</span></span></div></div><div class="css-bfYiUy"><a class="css-gkIDnk" href="https://www.uber.com/us/en/blog/ubers-payments-platform/">Zero-Sum by Design: 10 Years of Uber’s Payments Platform</a></div><div class="css-bGyOjB">August 6, 2026</div></div></div><a aria-hidden="true" class="css-jeuDjw" href="https://www.uber.com/us/en/blog/ubers-payments-platform/" tabindex="-1"></a></div><div class="css-kwNuyP" data-testid="newsroom-article-feed-card"><div data-baseweb="aspect-ratio-box" class="css-cOsLzB"><div data-baseweb="aspect-ratio-box-body" class="css-eleJdh"><picture><source media="screen and (min-width: 1136px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=605/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy84ODA2ZjIwMy1lNzRjLTRhOTctYjcyYi1jODI1YmI2MzdkOTkuanBlZw==, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1210/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy84ODA2ZjIwMy1lNzRjLTRhOTctYjcyYi1jODI1YmI2MzdkOTkuanBlZw== 2x"/><source media="screen and (min-width: 600px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=561/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy84ODA2ZjIwMy1lNzRjLTRhOTctYjcyYi1jODI1YmI2MzdkOTkuanBlZw==, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=1122/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy84ODA2ZjIwMy1lNzRjLTRhOTctYjcyYi1jODI1YmI2MzdkOTkuanBlZw== 2x"/><source media="screen and (min-width: 320px)" srcSet="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=407/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy84ODA2ZjIwMy1lNzRjLTRhOTctYjcyYi1jODI1YmI2MzdkOTkuanBlZw==, https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=814/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy84ODA2ZjIwMy1lNzRjLTRhOTctYjcyYi1jODI1YmI2MzdkOTkuanBlZw== 2x"/><img src="https://cn-geo1.uber.com/image-proc/crop/resizecrop/udam/format=auto/width=407/height=0/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy84ODA2ZjIwMy1lNzRjLTRhOTctYjcyYi1jODI1YmI2MzdkOTkuanBlZw==" alt="" loading="lazy" fetchpriority="low" class="css-etAiCK"/></picture></div></div><div class="css-bpyykn"></div><div class="css-hxGQNi"><div data-baseweb="block" class="css-fPItWk css-PKJb"><div class="css-lnzgHT"><div><span data-baseweb="tag" class="css-jgYIWw"><span title="AI / ML" class="css-bZnCM">AI / ML</span></span></div><div><span data-baseweb="tag" class="css-jgYIWw"><span title="Data" class="css-bZnCM">Data</span></span></div><div><span data-baseweb="tag" class="css-jgYIWw"><span title="Engineering" class="css-bZnCM">Engineering</span></span></div></div><div class="css-bfYiUy"><a class="css-gkIDnk" href="https://www.uber.com/us/en/blog/scaling-exact-count/">Scaling Exact COUNT(DISTINCT) for High-Cardinality Non-Rollup Metrics in Distributed Data Pipelines</a></div><div class="css-bGyOjB">July 30, 2026</div></div></div><a aria-hidden="true" class="css-jeuDjw" href="https://www.uber.com/us/en/blog/scaling-exact-count/" tabindex="-1"></a></div></div></div></div></div></div></div></div></section></div></div></div><div data-block-content-id="00cdbbb9-7ef2-4465-9486-c208a836b0f5" data-block-id="Footer" style="display:inline" tabindex="-1"><div data-testid="responsive.visibility.wrapper" class="css-cenKGv"><span style="height:0;position:absolute;width:0" aria-hidden="true"></span><footer><section data-baseweb="block" class="css-hBnhgZ"><div data-baseweb="block" class="css-hazmlH"><div class="css-jOhJVe" tabindex="-1"><div data-baseweb="block" class="css-dODCLc"><div data-baseweb="block" data-testid="block-container" class="css-bVFrLX"><div data-baseweb="block" class="css-HXvWP"><div data-baseweb="block" data-testid="block-container" class="css-bVFrLX"><div data-baseweb="block" class="css-rjIkq"><div data-testid="footer-typography-logo-wrapper"><a data-baseweb="link" aria-label="" data-testid="footer-logo-typography-logo" href="https://www.uber.com/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_logo.link_cta30" class="css-dmEOyR">Uber</a></div><div><a data-baseweb="link" aria-label="Visit Uber&#x27;s Help Center" data-testid="link-logo" href="https://help.uber.com/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_linkLogo_cta28" class="css-iBZTkJ"><p class="css-AnBpG" data-testid="inner-link">Visit Help Center</p></a></div></div><div data-baseweb="block" class="css-bYGJej"></div></div></div><div data-baseweb="block" class="css-HXvWP"><div data-baseweb="block" data-testid="block-container" class="css-bVFrLX"><div class="css-efdIWD"><div><h2 data-baseweb="typo-labellarge" class="css-dQXoUy">Company</h2></div><ul class="css-cDWyiW"><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://www.uber.com/us/en/about/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group1.childNodes[0].link_cta5" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">About us</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="Our offerings, apps, and products" data-testid="link-center" href="https://www.uber.com/us/en/about/uber-offerings/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group1.childNodes[1].link_cta6" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Our offerings</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://www.uber.com/us/en/newsroom/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group1.childNodes[2].link_cta7" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Newsroom</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://investor.uber.com/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group1.childNodes[3].link_cta8" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Investors</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://www.uber.com/us/en/blog/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group1.childNodes[4].link_cta9" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Blog</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://jobs.uber.com/en/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group1.childNodes[5].link_cta10" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Careers</p></a></li></ul></div><div class="css-efdIWD"><div><h2 data-baseweb="typo-labellarge" class="css-dQXoUy">Products</h2></div><ul class="css-cDWyiW"><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://www.uber.com/us/en/ride/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[0].link_cta12" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Ride</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://www.uber.com/us/en/drive/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[1].link_cta13" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Drive</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://www.uber.com/us/en/deliver/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[2].link_cta14" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Deliver</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://www.ubereats.com/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[3].link_cta15" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Eat</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://www.uber.com/us/en/business/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[4].link_cta16" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Uber for Business</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://www.uberfreight.com/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[5].link_cta17" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Uber Freight</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="Gift cards to redeem and buy" data-testid="link-center" href="https://www.uber.com/us/en/gift-cards/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[6].link_cta18" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Gift cards</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" data-testid="link-center" href="https://www.uberhealth.com/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[7].link_cta19" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Uber Health</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://www.uber.com/us/en/advertising/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[8].link_cta20" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Uber Advertising</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" data-testid="link-center" href="https://merchants.ubereats.com/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[9].link_cta21" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Merchants</p></a></li></ul></div><div class="css-efdIWD"><div><h2 data-baseweb="typo-labellarge" class="css-dQXoUy">Global citizenship</h2></div><ul class="css-cDWyiW"><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://www.uber.com/us/en/safety/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group3.childNodes[0].link_cta22" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Safety</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://www.uber.com/us/en/about/sustainability/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group3.childNodes[1].link_cta23" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Sustainability</p></a></li></ul></div><div class="css-efdIWD"><div><h2 data-baseweb="typo-labellarge" class="css-dQXoUy">Travel</h2></div><ul class="css-cDWyiW"><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://rides.sng.link/Aw5zn/o42y?_dl=uber%3A%2F%2Freserve&amp;_smtype=3&amp;_forward_params=1&amp;_fallback_redirect=http%3A%2F%2Fm.uber.com%2Freserve&amp;pcn=ubercom-footer&amp;mvid=[marketing-visitor-id]" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group4.childNodes[0].link_cta24" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Reserve</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://www.uber.com/us/en/airports/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group4.childNodes[1].link_cta25" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Airports</p></a></li><li class="css-hCxyXn"><a data-baseweb="link" aria-label="" data-testid="link-center" href="https://www.uber.com/us/en/r/cities/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group4.childNodes[2].link_cta26" class="css-huebvm"><p data-baseweb="typo-paragraphsmall" class="css-ekbqzf">Cities</p></a></li></ul></div></div></div><div data-baseweb="block" class="css-HXvWP"><div data-baseweb="block" data-testid="block-container" class="css-bVFrLX"><ul class="css-FvMyi"><li><div><a data-baseweb="button" href="https://www.linkedin.com/company/1815218" target="_blank" data-testid="button-social" text="LinkedIn" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_linkedin_cta29" class="css-cLYIms"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none"><title>linkedin</title><path d="M21.37 1H2.62C1.73 1 1 1.71 1 2.58v18.83c0 .88.73 1.59 1.62 1.59h18.75c.9 0 1.63-.71 1.63-1.59V2.58C23 1.71 22.27 1 21.37 1ZM7.53 19.75H4.26V9.25h3.27v10.5ZM5.89 7.81C4.85 7.81 4 6.96 4 5.92s.84-1.89 1.89-1.89c1.04 0 1.89.85 1.89 1.89.01 1.04-.84 1.89-1.89 1.89Zm13.86 11.94h-3.26v-5.1c0-1.22-.02-2.78-1.7-2.78-1.7 0-1.96 1.33-1.96 2.7v5.19H9.57V9.26h3.13v1.43h.04c.44-.83 1.5-1.7 3.09-1.7 3.3 0 3.91 2.17 3.91 5v5.76h.01Z" fill="currentColor"></path></svg></a></div></li><li><div><a data-baseweb="button" href="https://www.youtube.com/channel/UCgnxoUwDmmyzeigmmcf0hZA" target="_blank" data-testid="button-social" text="YouTube" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_youtube_cta34" class="css-cLYIms"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none"><title>youtube</title><path d="M23 12s0-3.85-.46-5.58c-.25-.95-1-1.7-1.94-1.96C18.88 4 12 4 12 4s-6.88 0-8.6.46c-.95.25-1.69 1.01-1.94 1.96C1 8.15 1 12 1 12s.04 3.85.5 5.58c.25.95 1 1.7 1.95 1.96 1.71.46 8.59.46 8.59.46s6.88 0 8.6-.46c.95-.25 1.69-1.01 1.94-1.96.46-1.73.42-5.58.42-5.58Zm-13 3.27V8.73L15.5 12 10 15.27Z" fill="currentColor"></path></svg></a></div></li><li><div><a data-baseweb="button" href="https://instagram.com/uber/" target="_blank" data-testid="button-social" text="Instagram" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_instagram_cta27" class="css-cLYIms"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none"><title>instagram</title><g fill="currentColor"><path d="M21.15 2.85C19.05.74 16.23 1 12 1 8.04 1 5 .69 2.85 2.85.74 4.95 1 7.77 1 12c0 3.95-.31 7 1.85 9.15C4.95 23.26 7.77 23 12 23c3.96 0 7 .31 9.15-1.85C23.25 19.05 23 16.23 23 12c0-4.31.24-7.07-1.85-9.15Zm-1.4 16.9c-1.37 1.37-3.18 1.27-7.75 1.27-4.29 0-6.34.15-7.75-1.27-1.44-1.44-1.27-3.51-1.27-7.75 0-4.23-.15-6.33 1.27-7.75C5.66 2.84 7.6 2.98 12 2.98c4.23 0 6.33-.15 7.75 1.27 1.38 1.38 1.27 3.22 1.27 7.75 0 4.24.15 6.34-1.27 7.75Z"></path><path d="M12 6.35a5.65 5.65 0 1 0 .001 11.301A5.65 5.65 0 0 0 12 6.35Zm0 9.32c-2.02 0-3.67-1.64-3.67-3.67 0-2.03 1.64-3.67 3.67-3.67 2.03 0 3.67 1.64 3.67 3.67 0 2.02-1.65 3.67-3.67 3.67ZM17.87 4.81c-.73 0-1.32.59-1.32 1.32 0 .73.59 1.32 1.32 1.32.73 0 1.32-.59 1.32-1.32 0-.73-.59-1.32-1.32-1.32Z"></path></g></svg></a></div></li><li><div><a data-baseweb="button" href="https://twitter.com/uber" target="_blank" data-testid="button-social" text="Twitter" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_twitter_cta33" class="css-cLYIms"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none"><title>twitter</title><path d="M14.094 10.317 22.28 1H20.34l-7.11 8.088L7.557 1H1.01l8.583 12.231L1.01 23H2.95l7.503-8.543L16.446 23h6.546M3.649 2.432h2.978L20.34 21.639h-2.98" fill="currentColor"></path></svg></a></div></li></ul><ul class="css-lfhXcE"><li><button data-baseweb="button" aria-label="Current language: English" data-testid="button-geolang" lang="en" class="css-fOpIi"><div aria-hidden="true" class="css-hdjfHk"><svg width="16" height="16" viewBox="0 0 24 24" fill="none"><title>Globe</title><path d="M12 1C5.9 1 1 5.9 1 12s4.9 11 11 11 11-4.9 11-11S18.1 1 12 1Zm8 11c0 .7-.1 1.4-.3 2-.6-1.5-1.6-3.1-3-4.7l1.8-1.8c1 1.3 1.5 2.8 1.5 4.5ZM6.5 6.5c1.3 0 3.6.8 6 2.9l-3.2 3.2C7.1 9.8 6.5 7.5 6.5 6.5Zm8.1 5c2.3 2.7 2.9 5 2.9 6-1.3 0-3.6-.8-6-2.9l3.1-3.1Zm1.9-6.1-1.9 1.9c-1.6-1.4-3.2-2.4-4.7-3 .7-.2 1.3-.3 2-.3 1.8 0 3.3.5 4.6 1.4ZM4 12c0-.7.1-1.4.3-2 .6 1.5 1.6 3.1 3 4.7l-1.8 1.8C4.5 15.2 4 13.7 4 12Zm3.5 6.6 1.9-1.9c1.6 1.4 3.2 2.4 4.7 3-.7.2-1.3.3-2 .3-1.8 0-3.3-.5-4.6-1.4Z" fill="currentColor"></path></svg></div>English</button></li></ul><div class="css-fdGxkK"><div class="css-jgmlEN"><a data-baseweb="link" aria-label="Visit Google Play" href="https://rides.sng.link/Bw5zn/vz1k?_dl=uber%3A%2F%2F&amp;pcn=uber-com-footer&amp;mvid=[marketing-visitor-id]" target="_self" class="css-cjHYHA css-dLzUvf"><img alt="Download the Uber app for Android" aria-hidden="true" loading="lazy" role="presentation" src="https://tb-static.uber.com/prod/udam-assets/07335cd8-47d5-51a0-a07b-125195eb4cea.svg"/></a><a data-baseweb="link" aria-label="Visit the App Store" href="https://rides.sng.link/Cw5zn/564k?_dl=uber%3A%2F%2F&amp;_smtype=3&amp;pcn=uber-com-footer&amp;mvid=[marketing-visitor-id]" target="_self" class="css-cjHYHA css-dLzUvf"><img alt="Download the Uber app for IOS" aria-hidden="true" loading="lazy" role="presentation" src="https://tb-static.uber.com/prod/udam-assets/e723f2d5-90c4-5d3b-ad4d-c36fa5597879.svg"/></a></div></div></div></div><div data-baseweb="block" class="css-HXvWP"><div data-baseweb="block" data-testid="block-container" class="css-bVFrLX"><div data-baseweb="block" class="css-gzlAMi"><p data-baseweb="typo-paragraphxsmall" data-testid="typography-copyright" class="css-dKvrsS"><span>© <!-- -->2026<!-- --> </span>Uber Technologies Inc.</p></div><div data-baseweb="block" class="css-gBmvBw"></div><div class="css-iXmjNW"></div><div data-baseweb="block" class="css-gzlAMi"><ul class="css-rwapI"><li><a data-baseweb="link" aria-label="" href="https://www.uber.com/legal/document/?name=privacy-notice" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_privacy_cta31" class="css-xdbDk"><p data-baseweb="typo-paragraphxsmall" class="css-dtzAnt">Privacy</p></a></li><li><a data-baseweb="link" aria-label="" href="https://www.uber.com/us/en/about/accessibility/" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_accessibility_cta1" class="css-xdbDk"><p data-baseweb="typo-paragraphxsmall" class="css-dtzAnt">Accessibility</p></a></li><li><a data-baseweb="link" aria-label="Terms and Conditions" href="https://www.uber.com/legal/document/?name=general-terms-of-use" target="_self" data-tracking-name="_00cdbbb9-7ef2-4465-9486-c208a836b0f5_terms_cta32" class="css-xdbDk"><p data-baseweb="typo-paragraphxsmall" class="css-dtzAnt">Terms</p></a></li></ul></div></div></div></div></div></div></div></section></footer></div></div><div class="css-hSgrkT"><div tabindex="-1"><div data-baseweb="block" data-testid="desktop-content-drawer" class="css-hNYSyH"><div data-baseweb="block" class="css-jdmMfJ"><button data-baseweb="button" aria-label="Close" class="css-cxltSn css-favjHz"><svg width="42" height="42" viewBox="0 0 24 24" fill="none"><path d="m18.1 8.1-2.2-2.2-3.9 4-3.9-4-2.2 2.2 4 3.9-4 3.9 2.2 2.2 3.9-4 3.9 4 2.2-2.2-4-3.9 4-3.9Z" fill="currentColor"></path></svg></button></div><div class="css-hSgrkT"><div class="css-bEvpjW"><div class="css-btbKrJ"><h2 data-baseweb="typo-displayxsmall" class="css-ePqIsi">Select your preferred language</h2></div><a data-baseweb="button" aria-label="English, English" href="/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/" lang="en" target="_self" class="css-boIhmv"><span>English, English</span></a></div></div></div><div data-baseweb="block" data-testid="mobile-content-drawer" class="css-UsIex"><div data-baseweb="block" class="css-beegqO"><ul role="tree" class="css-idoxzA"><li role="treeitem" data-nodeid="" tabindex="0" class="css-bWHXse"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><div class="css-dWTxGR"><div class="css-kpjDOI"></div></div><h3 class="css-fCwhaC">Products</h3><div class="css-guiGWC"><svg width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M18 8v3.8l-6 4.6-6-4.6V8l6 4.6L18 8Z" fill="currentColor"></path></svg></div></div></div><ul role="group" class="css-hYZYtM"><li role="treeitem" data-nodeid="" tabindex="0" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a data-baseweb="link" href="https://www.uber.com/us/en/blog/advertising/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[0].link_cta6" class="css-kFHXBV"><p class="css-hhSroJ">Advertising</p><p class="css-jrSMTd">Learn more about advertising on Uber. Reach consumers as they go anywhere and get anything.</p></a></div></div></li><li role="treeitem" data-nodeid="1" tabindex="-1" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a data-baseweb="link" href="https://www.uber.com/us/en/blog/earn/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[1].link_cta7" class="css-kFHXBV"><p class="css-hhSroJ">Earn</p><p class="css-jrSMTd">Resources for driving and delivering with Uber</p></a></div></div></li><li role="treeitem" data-nodeid="2" tabindex="-1" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a data-baseweb="link" href="https://www.uber.com/us/en/blog/ride/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[2].link_cta8" class="css-kFHXBV"><p class="css-hhSroJ">Ride</p><p class="css-jrSMTd">Experiences and information for people on the move</p></a></div></div></li><li role="treeitem" data-nodeid="3" tabindex="-1" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a data-baseweb="link" href="https://www.uber.com/us/en/blog/eat/" aria-label="" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[3].link_cta9" class="css-kFHXBV"><p class="css-hhSroJ">Eat</p><p class="css-jrSMTd">Ordering meals for delivery is just the beginning with Uber Eats</p></a></div></div></li><li role="treeitem" data-nodeid="4" tabindex="-1" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a data-baseweb="link" href="https://www.uber.com/us/en/blog/merchants/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[4].link_cta10" class="css-kFHXBV"><p class="css-hhSroJ">Merchants</p><p class="css-jrSMTd">Putting stores within reach of a world of customers</p></a></div></div></li><li role="treeitem" data-nodeid="5" tabindex="-1" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a data-baseweb="link" href="https://www.uber.com/us/en/blog/business/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[5].link_cta11" class="css-kFHXBV"><p class="css-hhSroJ">Business</p><p class="css-jrSMTd">Transforming the way companies move and feed their people</p></a></div></div></li><li role="treeitem" data-nodeid="6" tabindex="-1" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a data-baseweb="link" href="https://www.uber.com/us/en/blog/freight/" target="_self" hidden="" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[6].link_cta12" class="css-kFHXBV"><p class="css-hhSroJ">Freight</p><p class="css-jrSMTd">Taking shipping logistics in a new direction</p></a></div></div></li><li role="treeitem" data-nodeid="7" tabindex="-1" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a data-baseweb="link" href="https://www.uber.com/us/en/blog/health/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[7].link_cta13" class="css-kFHXBV"><p class="css-hhSroJ">Health</p><p class="css-jrSMTd">Moving care forward together with medical providers</p></a></div></div></li><li role="treeitem" data-nodeid="8" tabindex="-1" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a data-baseweb="link" href="https://www.uber.com/us/en/blog/higher-education/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[8].link_cta14" class="css-kFHXBV"><p class="css-hhSroJ">Higher Education</p><p class="css-jrSMTd">Enhancing campus transportation</p></a></div></div></li><li role="treeitem" data-nodeid="9" tabindex="-1" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a data-baseweb="link" href="https://www.uber.com/us/en/blog/transit/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[9].link_cta15" class="css-kFHXBV"><p class="css-hhSroJ">Transit</p><p class="css-jrSMTd">Expanding the reach of public transportation</p></a></div></div></li></ul></li><li role="treeitem" data-nodeid="1" tabindex="-1" class="css-bWHXse"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><div class="css-dWTxGR"><div class="css-kpjDOI"></div></div><h3 class="css-fCwhaC">Company</h3><div class="css-guiGWC"><svg width="24" height="24" viewBox="0 0 24 24" fill="none"><path d="M18 8v3.8l-6 4.6-6-4.6V8l6 4.6L18 8Z" fill="currentColor"></path></svg></div></div></div><ul role="group" class="css-hYZYtM"><li role="treeitem" data-nodeid="" tabindex="0" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a data-baseweb="link" href="https://www.uber.com/us/en/blog/engineering/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[1].childNodes[0].link_cta16" class="css-kFHXBV"><p class="css-hhSroJ">Engineering</p><p class="css-jrSMTd">The technology behind Uber Engineering</p></a></div></div></li><li role="treeitem" data-nodeid="1" tabindex="-1" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a data-baseweb="link" href="https://www.uber.com/us/en/blog/community-support/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[1].childNodes[1].link_cta17" class="css-kFHXBV"><p class="css-hhSroJ">Community support</p><p class="css-jrSMTd">Doing the right thing for cities and communities globally</p></a></div></div></li><li role="treeitem" data-nodeid="2" tabindex="-1" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a data-baseweb="link" href="https://www.uber.com/us/en/newsroom/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[1].childNodes[2].link_cta18" class="css-kFHXBV"><p class="css-hhSroJ">Newsroom</p><p class="css-jrSMTd">Uber news and updates in your country</p></a></div></div></li><li role="treeitem" data-nodeid="3" tabindex="-1" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a data-baseweb="link" href="https://www.uber.com/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[1].childNodes[3].link_cta19" class="css-kFHXBV"><p class="css-hhSroJ">Uber.com</p><p class="css-jrSMTd">Product, how-to, and policy content—and more</p></a></div></div></li></ul></li><li role="treeitem" data-nodeid="2" tabindex="-1" class="css-jrSJdi"><div overrides="[object Object]" class="css-coikQw"><div class="css-hDdkid"><a aria-label="" class="css-iVVeIU" data-baseweb="link" href="https://help.uber.com/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_additionalCta.link_cta1">Help</a></div></div><ul role="group" class="css-erEjEB"></ul></li></ul></div><div data-baseweb="block" class="css-cndfHK"><button data-baseweb="button" aria-label="Change language" aria-expanded="false" aria-haspopup="menu" class="css-kfoJzM"><div aria-hidden="true" class="css-hdjfHk"><svg width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M12 1C5.9 1 1 5.9 1 12s4.9 11 11 11 11-4.9 11-11S18.1 1 12 1Zm8 11c0 .7-.1 1.4-.3 2-.6-1.5-1.6-3.1-3-4.7l1.8-1.8c1 1.3 1.5 2.8 1.5 4.5ZM6.5 6.5c1.3 0 3.6.8 6 2.9l-3.2 3.2C7.1 9.8 6.5 7.5 6.5 6.5Zm8.1 5c2.3 2.7 2.9 5 2.9 6-1.3 0-3.6-.8-6-2.9l3.1-3.1Zm1.9-6.1-1.9 1.9c-1.6-1.4-3.2-2.4-4.7-3 .7-.2 1.3-.3 2-.3 1.8 0 3.3.5 4.6 1.4ZM4 12c0-.7.1-1.4.3-2 .6 1.5 1.6 3.1 3 4.7l-1.8 1.8C4.5 15.2 4 13.7 4 12Zm3.5 6.6 1.9-1.9c1.6 1.4 3.2 2.4 4.7 3-.7.2-1.3.3-2 .3-1.8 0-3.3-.5-4.6-1.4Z" fill="currentColor"></path></svg></div>EN</button></div><div data-baseweb="block" class="css-hSgrkT"><div class="css-bEvpjW"><div class="css-btbKrJ"><h2 data-baseweb="typo-displayxsmall" class="css-ePqIsi">Select your preferred language</h2></div><a data-baseweb="button" aria-label="English, English" href="/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/" lang="en" target="_self" class="css-boIhmv"><span>English, English</span></a></div></div><div data-baseweb="block" class="css-hSgrkT"><section data-baseweb="block" class="css-gqcHgx"><div data-baseweb="block" class="css-hazmlH"><div data-baseweb="block" class="css-ofGld"><div data-baseweb="block" class="container-inner css-gMUoBL"><div data-baseweb="block" data-testid="block-container" class="css-bVFrLX"><div data-baseweb="block" class="css-cpjRpJ"><a data-baseweb="link" href="https://m.uber.com/looking/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[0].link_cta2" class="css-gVWXrV"><div class="css-kXvOCV"><div class="css-kpjDOI"></div></div><div class="css-kfGxPu"><h2 data-baseweb="typo-headingxlarge" class="css-dWBVmg">Ride</h2><svg width="32" height="32" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m22.2 12-6.5 9h-3.5l5.5-7.5H2v-3h15.7L12.2 3h3.5l6.5 9Z" fill="currentColor"></path></svg></div><div class="css-dkkdtH"><p data-baseweb="typo-paragraphmedium" class="css-dTqljZ"></p></div></a></div><div data-baseweb="block" class="css-lbyguR"></div><div data-baseweb="block" class="css-cpjRpJ"><a data-baseweb="link" aria-label="" href="https://drivers.uber.com/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[1].link_cta3" class="css-gVWXrV"><div class="css-kXvOCV"><div class="css-kpjDOI"></div></div><div class="css-kfGxPu"><h2 data-baseweb="typo-headingxlarge" class="css-dWBVmg">Drive &amp; deliver</h2><svg width="32" height="32" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m22.2 12-6.5 9h-3.5l5.5-7.5H2v-3h15.7L12.2 3h3.5l6.5 9Z" fill="currentColor"></path></svg></div><div class="css-dkkdtH"><p data-baseweb="typo-paragraphmedium" class="css-dTqljZ"></p></div></a></div><div data-baseweb="block" class="css-lbyguR"></div><div data-baseweb="block" class="css-cpjRpJ"><a data-baseweb="link" href="https://ubereats.com/login-redirect/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[2].link_cta4" class="css-gVWXrV"><div class="css-kXvOCV"><div class="css-kpjDOI"></div></div><div class="css-kfGxPu"><h2 data-baseweb="typo-headingxlarge" class="css-dWBVmg">Uber Eats</h2><svg width="32" height="32" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m22.2 12-6.5 9h-3.5l5.5-7.5H2v-3h15.7L12.2 3h3.5l6.5 9Z" fill="currentColor"></path></svg></div><div class="css-dkkdtH"><p data-baseweb="typo-paragraphmedium" class="css-dTqljZ"></p></div></a></div><div data-baseweb="block" class="css-lbyguR"></div><div data-baseweb="block" class="css-cpjRpJ"><a data-baseweb="link" href="https://business.uber.com/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[3].link_cta5" class="css-gVWXrV"><div class="css-kXvOCV"><div class="css-kpjDOI"></div></div><div class="css-kfGxPu"><h2 data-baseweb="typo-headingxlarge" class="css-dWBVmg">Business</h2><svg width="32" height="32" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m22.2 12-6.5 9h-3.5l5.5-7.5H2v-3h15.7L12.2 3h3.5l6.5 9Z" fill="currentColor"></path></svg></div><div class="css-dkkdtH"><p data-baseweb="typo-paragraphmedium" class="css-dTqljZ"></p></div></a></div><div data-baseweb="block" class="css-lbyguR"></div></div></div></div></div></section></div><div data-baseweb="block" class="css-hSgrkT"><section data-baseweb="block" class="css-gqcHgx"><div data-baseweb="block" class="css-hazmlH"><div data-baseweb="block" class="css-ofGld"><div data-baseweb="block" class="container-inner css-gMUoBL"><div data-baseweb="block" data-testid="block-container" class="css-bVFrLX"></div></div></div></div></section></div><div data-baseweb="block" class="css-hSgrkT"><section data-baseweb="block" class="css-gqcHgx"><div data-baseweb="block" class="css-hazmlH"><div data-baseweb="block" class="css-ofGld"><div data-baseweb="block" class="container-inner css-gMUoBL"><div data-baseweb="block" data-testid="block-container" class="css-bVFrLX"><div data-baseweb="block" class="css-cpjRpJ"><a data-baseweb="link" href="https://drivers.uber.com/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_loggedInCta.childNodes[0].link_cta20" class="css-gVWXrV"><div class="css-kXvOCV"><div class="css-kpjDOI"></div></div><div class="css-kfGxPu"><h2 data-baseweb="typo-headingxlarge" class="css-dWBVmg">Drive &amp; deliver</h2><svg width="32" height="32" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m22.2 12-6.5 9h-3.5l5.5-7.5H2v-3h15.7L12.2 3h3.5l6.5 9Z" fill="currentColor"></path></svg></div><div class="css-dkkdtH"><p data-baseweb="typo-paragraphmedium" class="css-dTqljZ"></p></div></a></div><div data-baseweb="block" class="css-lbyguR"></div><div data-baseweb="block" class="css-cpjRpJ"><a data-baseweb="link" href="https://m.uber.com/login-redirect" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_loggedInCta.childNodes[1].link_cta21" class="css-gVWXrV"><div class="css-kXvOCV"><div class="css-kpjDOI"></div></div><div class="css-kfGxPu"><h2 data-baseweb="typo-headingxlarge" class="css-dWBVmg">Ride</h2><svg width="32" height="32" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m22.2 12-6.5 9h-3.5l5.5-7.5H2v-3h15.7L12.2 3h3.5l6.5 9Z" fill="currentColor"></path></svg></div><div class="css-dkkdtH"><p data-baseweb="typo-paragraphmedium" class="css-dTqljZ"></p></div></a></div><div data-baseweb="block" class="css-lbyguR"></div><div data-baseweb="block" class="css-cpjRpJ"><a data-baseweb="link" href="https://ubereats.com/login-redirect/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_loggedInCta.childNodes[2].link_cta22" class="css-gVWXrV"><div class="css-kXvOCV"><div class="css-kpjDOI"></div></div><div class="css-kfGxPu"><h2 data-baseweb="typo-headingxlarge" class="css-dWBVmg">Uber Eats</h2><svg width="32" height="32" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m22.2 12-6.5 9h-3.5l5.5-7.5H2v-3h15.7L12.2 3h3.5l6.5 9Z" fill="currentColor"></path></svg></div><div class="css-dkkdtH"><p data-baseweb="typo-paragraphmedium" class="css-dTqljZ"></p></div></a></div><div data-baseweb="block" class="css-lbyguR"></div><div data-baseweb="block" class="css-cpjRpJ"><a data-baseweb="link" href="https://business.uber.com/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_loggedInCta.childNodes[3].link_cta23" class="css-gVWXrV"><div class="css-kXvOCV"><div class="css-kpjDOI"></div></div><div class="css-kfGxPu"><h2 data-baseweb="typo-headingxlarge" class="css-dWBVmg">Uber for Business</h2><svg width="32" height="32" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m22.2 12-6.5 9h-3.5l5.5-7.5H2v-3h15.7L12.2 3h3.5l6.5 9Z" fill="currentColor"></path></svg></div><div class="css-dkkdtH"><p data-baseweb="typo-paragraphmedium" class="css-dTqljZ"></p></div></a></div><div data-baseweb="block" class="css-lbyguR"></div><div data-baseweb="block" class="css-cpjRpJ"><a data-baseweb="link" href="https://account.uber.com/" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_loggedInCta.childNodes[4].link_cta24" class="css-gVWXrV"><div class="css-kXvOCV"><div class="css-kpjDOI"></div></div><div class="css-kfGxPu"><h2 data-baseweb="typo-headingxlarge" class="css-dWBVmg">Manage account</h2><svg width="32" height="32" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m22.2 12-6.5 9h-3.5l5.5-7.5H2v-3h15.7L12.2 3h3.5l6.5 9Z" fill="currentColor"></path></svg></div><div class="css-dkkdtH"><p data-baseweb="typo-paragraphmedium" class="css-dTqljZ"></p></div></a></div><div data-baseweb="block" class="css-lbyguR"></div><div data-baseweb="block" class="css-cpjRpJ"><a data-baseweb="link" href="https://auth.uber.com/login/logout" target="_self" data-tracking-name="_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_loggedInCta.childNodes[5].link_cta25" class="css-gVWXrV"><div class="css-kXvOCV"></div><div class="css-kfGxPu"><h2 data-baseweb="typo-headingxlarge" class="css-dWBVmg">Sign out</h2><svg width="32" height="32" viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="m22.2 12-6.5 9h-3.5l5.5-7.5H2v-3h15.7L12.2 3h3.5l6.5 9Z" fill="currentColor"></path></svg></div><div class="css-dkkdtH"><p data-baseweb="typo-paragraphmedium" class="css-dTqljZ"></p></div></a></div><div data-baseweb="block" class="css-lbyguR"></div></div></div></div></div></section></div></div></div></div></main></div><div class="css-PKJb"></div></div></div></div>
<script type="application/json" id="__PWV_DEVICE_INFO__">
{\u0022app\u0022:{},\u0022device\u0022:{\u0022type\u0022:\u0022desktop\u0022},\u0022webview\u0022:{}}
</script>
<script id="__HTML_DATA_EMBEDDING__" type="application/json">{\u0022all_product_suggestions\u0022:{\u0022NAVIGATION_ITEM_TYPE_CAR_RENTALS\u0022:\u0022https://m.uber.com/go/rent \u0022,\u0022NAVIGATION_ITEM_TYPE_CENTRAL\u0022:\u0022https://www.uber.com/business/products/central/\u0022,\u0022NAVIGATION_ITEM_TYPE_CHARTER\u0022:\u0022https://charter.uber.com/\u0022,\u0022NAVIGATION_ITEM_TYPE_RESTAURANTS\u0022:\u0022https://www.ubereats.com/\u0022,\u0022NAVIGATION_ITEM_TYPE_GROCERY\u0022:\u0022https://www.ubereats.com/feeds/shop_feed\u0022,\u0022NAVIGATION_ITEM_TYPE_HEALTH\u0022:\u0022https://www.uberhealth.com/\u0022,\u0022NAVIGATION_ITEM_TYPE_RIDER_ITEM_DELIVERY\u0022:\u0022https://m.uber.com/go/connect/pickup\u0022,\u0022NAVIGATION_ITEM_TYPE_RIDES\u0022:\u0022https://m.uber.com/looking/\u0022,\u0022NAVIGATION_ITEM_TYPE_UBER_RESERVE\u0022:\u0022https://m.uber.com/reserve/\u0022,\u0022NAVIGATION_ITEM_TYPE_HOURLY\u0022:\u0022https://m.uber.com/go/hourly/home\u0022,\u0022NAVIGATION_ITEM_TYPE_MOTO\u0022:\u0022https://m.uber.com/looking?flow_type=focused\u0026product_classifications=MOTO\u0022,\u0022NAVIGATION_ITEM_TYPE_TEENS\u0022:\u0022https://www.uber.com/ride/teens/\u0022,\u0022NAVIGATION_ITEM_TYPE_TRANSIT_RIDER\u0022:\u0022https://www.uber.com/transit/journey-planning/\u0022,\u0022NAVIGATION_ITEM_TYPE_TRAVEL_FLOW_TYPE\u0022:\u0022https://travel.uber.com/go/travel/tour/booking/search\u0022,\u0022NAVIGATION_ITEM_TYPE_TRAVEL\u0022:\u0022https://www.uber.com/gb/en/u/travel-uk/\u0022,\u0022NAVIGATION_ITEM_TYPE_INTERCITY\u0022:\u0022https://m.uber.com/looking/\u0022,\u0022NAVIGATION_ITEM_TYPE_HCV\u0022:\u0022https://m.uber.com/looking/\u0022},\u0022all_product_suggestions_v2\u0022:{\u0022NAVIGATION_ITEM_TYPE_CAR_RENTALS\u0022:\u0022https://m.uber.com/go/rent \u0022,\u0022NAVIGATION_ITEM_TYPE_RESTAURANTS\u0022:\u0022https://www.ubereats.com/\u0022,\u0022NAVIGATION_ITEM_TYPE_GROCERY\u0022:\u0022https://www.ubereats.com/feeds/shop_feed\u0022,\u0022NAVIGATION_ITEM_TYPE_RIDER_ITEM_DELIVERY\u0022:\u0022https://m.uber.com/go/connect/pickup\u0022,\u0022NAVIGATION_ITEM_TYPE_RIDES\u0022:\u0022https://m.uber.com/looking/\u0022,\u0022NAVIGATION_ITEM_TYPE_AIRPORT\u0022:\u0022https://m.uber.com/looking/\u0022,\u0022NAVIGATION_ITEM_TYPE_UBER_RESERVE\u0022:\u0022https://m.uber.com/reserve/\u0022,\u0022NAVIGATION_ITEM_TYPE_HOURLY\u0022:\u0022https://m.uber.com/go/hourly/home\u0022,\u0022NAVIGATION_ITEM_TYPE_MOTO\u0022:\u0022https://m.uber.com/looking/\u0022,\u0022NAVIGATION_ITEM_TYPE_TEENS\u0022:\u0022https://www.uber.com/ride/teens/\u0022,\u0022NAVIGATION_ITEM_TYPE_TRAVEL_FLOW_TYPE\u0022:\u0022https://travel.uber.com/go/travel/tour/booking/search\u0022,\u0022NAVIGATION_ITEM_TYPE_TRAVEL\u0022:\u0022https://www.uber.com/gb/en/u/travel-uk/\u0022,\u0022NAVIGATION_ITEM_TYPE_INTERCITY\u0022:\u0022https://m.uber.com/looking/\u0022,\u0022NAVIGATION_ITEM_TYPE_HCV\u0022:\u0022https://m.uber.com/looking/\u0022,\u0022NAVIGATION_ITEM_TYPE_BLACK\u0022:\u0022https://m.uber.com/looking/\u0022,\u0022NAVIGATION_ITEM_TYPE_ELECTRIC\u0022:\u0022https://m.uber.com/looking/\u0022,\u0022NAVIGATION_ITEM_TYPE_TAXI\u0022:\u0022https://m.uber.com/looking/\u0022,\u0022NAVIGATION_ITEM_TYPE_ELITE\u0022:\u0022https://m.uber.com/looking/\u0022,\u0022NAVIGATION_ITEM_TYPE_SUV\u0022:\u0022https://m.uber.com/looking/\u0022,\u0022NAVIGATION_ITEM_TYPE_SENIORS\u0022:\u0022https://www.uber.com/ride/seniors/\u0022,\u0022NAVIGATION_ITEM_TYPE_TRAVEL_BUSES\u0022:\u0022https://www.uber.com/ride/travel/intercity-bus/\u0022},\u0022automated_tracking_block_list\u0022:[],\u0022automated_tracking_check_enabled_routes\u0022:false,\u0022automated_tracking_enabled_routes\u0022:[\u0022/:country/:lang/drive/\u0022,\u0022/:country/:lang/ride/\u0022,\u0022/:country/:lang/deliver/\u0022,\u0022/global/:lang/price-estimate/\u0022,\u0022/:country/:lang/ride/how-it-works/reserve/\u0022,\u0022/:country/:lang/s/r/\u0022,\u0022/:country/:lang/s/d/kochab/\u0022,\u0022/:country/:lang/s/c/deliver-kochab/\u0022,\u0022/:country/:lang/s/e/referrals/\u0022,\u0022/:country/:lang/\u0022,\u0022/\u0022,\u0022/:country/:lang/business/\u0022],\u0022config.automated_tracking_enabled_blocks\u0022:[\u0022Highlight\u0022,\u0022ContentItems\u0022,\u0022Accordion\u0022,\u0022Navigation\u0022,\u0022Text\u0022,\u0022SubNavigation\u0022,\u0022Header\u0022,\u0022Footer\u0022,\u0022Legal\u0022,\u0022ContentConnected\u0022,\u0022EarningsCalculator\u0022,\u0022MultiLink\u0022,\u0022Media\u0022,\u0022Notification\u0022,\u0022Gallery\u0022,\u0022BillboardVertical\u0022,\u0022Bullets\u0022,\u0022MultilinkBold\u0022,\u0022MerchantSignupForm\u0022,\u0022BannerCampaign\u0022,\u0022AccordionTabbed\u0022,\u0022ContentStandard\u0022,\u0022List\u0022,\u0022Table\u0022,\u0022ProductHeader\u0022,\u0022ListTextLinks\u0022,\u0022CRODriverGuarantee\u0022,\u0022UberReserve\u0022,\u0022ContentHighlight\u0022,\u0022CardGallery\u0022,\u0022DriverGuaranteeLegal\u0022,\u0022FaqSchema\u0022,\u0022GiftingHighlight\u0022,\u0022BillboardCTA\u0022,\u0022CCBSearchbar\u0022,\u0022CCBJobsList\u0022,\u0022ReferralGuarantee\u0022,\u0022Formstack\u0022,\u0022BannerFull\u0022,\u0022BannerCTA\u0022,\u0022Chart\u0022,\u0022Map\u0022,\u0022U4BStandardCTA\u0022,\u0022CROStickyBottomButton\u0022,\u0022VehicleInspectionsMap\u0022,\u0022ReferralGuaranteeLegal\u0022,\u0022DirectSignupForm\u0022,\u0022BillboardStandard\u0022,\u0022HeaderTripSelector\u0022,\u0022BackToTop\u0022,\u0022WordpressGallery\u0022,\u0022GenericIframe\u0022,\u0022CCBBullets\u0022,\u0022Acuity\u0022,\u0022ModalPopup\u0022,\u0022CCBBannerCTA\u0022,\u0022CCBContentList\u0022,\u0022MediaHero\u0022,\u0022U4BLogoGrid\u0022,\u0022EnrollSignup\u0022,\u0022EatsOffer\u0022,\u0022ProductsCarousel\u0022,\u0022U4bContactSalesForm\u0022,\u0022DynamicProductsCarousel\u0022,\u0022Signup\u0022,\u0022JobPosting\u0022,\u0022POSMerchantSignupForm\u0022,\u0022Mosaic\u0022,\u0022CROSearchBarDropdown\u0022,\u0022Dot\u0022,\u0022BarChart\u0022,\u0022HelpSearch\u0022,\u0022WhatsappPhoneIntake\u0022,\u0022CCBContentGrid\u0022,\u0022GreenlightExtension\u0022,\u0022U4BMultilinkCTA\u0022,\u0022CCBLocationsGrid\u0022,\u0022IllustratedValueProps\u0022,\u0022CROBanner\u0022,\u0022DynamicMap\u0022,\u0022CCBBillboardVertical\u0022,\u0022HeaderMap\u0022,\u0022PersonalizedHighlight\u0022,\u0022DynamicEarningsCalculator\u0022,\u0022ProductsCarouselCitySelect\u0022,\u0022CROPesHighlight\u0022,\u0022CROProductSuggestions\u0022,\u0022CROAccountSummary\u0022,\u0022CROPersonalizedHero\u0022,\u0022CROPickUpDropOff\u0022,\u0022CRORentAndReserve\u0022,\u0022CROMapHero\u0022,\u0022ReferralBlock\u0022,\u0022CROEarnerOnboardingBlock\u0022,\u0022SearchResults\u0022,\u0022CROEarnerEducationalBlock\u0022,\u0022CROBannerStrip\u0022,\u0022CROActiveEarnerProductSuggestions\u0022,\u0022CROActiveEarnerSummary\u0022,\u0022CROMembership\u0022,\u0022CROFareBreakdown\u0022,\u0022CROEarnerUpcomingEvents\u0022,\u0022CarRentalListings\u0022,\u0022CROProductList\u0022,\u0022CROEatsCarousels\u0022,\u0022CROCityPOIs\u0022,\u0022CROPopularRouteList\u0022,\u0022CROCitySelectorHighlight\u0022,\u0022CROGuidedTour\u0022,\u0022RouteSummary\u0022,\u0022TravelRouteSchedule\u0022,\u0022IntercityC2RDock\u0022,\u0022IntercityListings\u0022,\u0022TrainsPudo\u0022,\u0022CROOptimizedPudo\u0022],\u0022config.city_selector_variant\u0022:\u0022MODAL_WITH_SUGGESTIONS\u0022,\u0022coreWebVitalsTrackingIdAllowMap\u0022:{\u0022/:c/:l/impact/\u0022:{\u0022label\u0022:\u0022impact-not-edge-cached\u0022,\u0022noQueryParams\u0022:true},\u0022/us/en/impact/\u0022:{\u0022label\u0022:\u0022impact-edge-cached\u0022,\u0022noQueryParams\u0022:true},\u0022/us/en/drive/\u0022:{\u0022label\u0022:\u0022drive\u0022},\u0022/us/en/ride/\u0022:{\u0022label\u0022:\u0022ride\u0022},\u0022/\u0022:{\u0022label\u0022:\u0022home\u0022},\u0022/global/en/sign-in/\u0022:{\u0022label\u0022:\u0022sign-in\u0022,\u0022noQueryParams\u0022:true}},\u0022cro_popular_route_list_discalimer_rosetta_key\u0022:\u0022*Prices reflect the average prices for the most common Uber ride option (e.g. UberX) from destinations within the pickup area shown to destinations within the dropoff area shown for the past 1 month. They do not represent fixed or guaranteed prices.\u0022,\u0022disable_automated_tracking\u0022:false,\u0022enable_streamline_supply_sourcing\u0022:false,\u0022featureFlagMap\u0022:{\u0022automated_tracking\u0022:true,\u0022block_xp_enabled\u0022:true,\u0022redirect_user\u0022:true,\u0022block_xp_local_storage_enabled\u0022:false,\u0022homepage_personalized_redirection\u0022:true,\u0022nav_site_search_enabled\u0022:false,\u0022audience_personalized_redirection\u0022:true,\u0022tulip_shadow_traffic\u0022:true,\u0022use_layover_on_pudo\u0022:true,\u0022use_paste_on_pudo\u0022:true,\u0022hide_keyboard_on_scroll_mobile\u0022:true,\u0022geolocation_cookie_user_object_v2\u0022:true,\u0022use_browser_inbuilt_lazy_load_in_responsive_images\u0022:true,\u0022activate_city_bias_in_footer_location_search\u0022:true,\u0022floating_accessibility_labels_on_pudo\u0022:true,\u0022use_optimized_product_suggestions\u0022:true,\u0022islands_enabled\u0022:true,\u0022use_federation_signal_usage_rights_derivative\u0022:true,\u0022memoize_get_treatment_block_map_at_request_level\u0022:true,\u0022geo_lang_city_redirect_en_fallback\u0022:true,\u0022middleware_timing_logging\u0022:true,\u0022user_preferred_locale_redirect\u0022:true,\u0022user_preferred_locale_redirect_bot_check\u0022:true,\u0022page_pre_hydrate_links_with_safe_url_params\u0022:true,\u0022check_block_territory_dependency_from_flipr\u0022:true,\u0022page_cache_independent_of_territory_id\u0022:true,\u0022multi_encoding_cache\u0022:true,\u0022page_cache_in_memory_storage\u0022:true,\u0022stale_while_revalidate\u0022:true,\u0022seo_blocks_ssr_rendering_enabled\u0022:false,\u0022link_localizer_disable_redis_cache\u0022:true,\u0022live_page_urls_enable_redis_cache\u0022:true,\u0022redirect_middleware_in_precache\u0022:false,\u0022web_notifications_enabled\u0022:true,\u0022web_notifications_allowlist_enabled\u0022:false,\u0022shared_emitter_islands\u0022:true,\u0022content_service_skip_redis_with_retry\u0022:true,\u0022ssr_suspense_yield\u0022:false,\u0022uwa_config_edge_cache\u0022:false},\u0022google_one_tap_metadata\u0022:{\u0022allowlisted_paths\u0022:[\u0022/\u0022,\u0022/:country/:lang/\u0022,\u0022/:country/:lang/ride/\u0022,\u0022/:country/:lang/drive/\u0022,\u0022/:country/:lang/deliver/\u0022],\u0022enable_for_all\u0022:false},\u0022google_one_tap_next_url\u0022:\u0022https://www.uber.com/sg/en/\u0022,\u0022hero_blocks_list\u0022:[\u0022CROPickUpDropOff\u0022,\u0022CROMapHero\u0022,\u0022Highlight\u0022,\u0022PersonalizedHighlight\u0022],\u0022html_bundle_size_thresholds\u0022:{},\u0022llm_chatbot_blocked_countries\u0022:[\u0022GB\u0022],\u0022optimized_city_selector_enabled\u0022:false,\u0022pudo_search_in_different_city_enabled\u0022:true,\u0022redirect_loggedin_user\u0022:{\u0022/:country?/:lang?/ride/\u0022:\u0022https://m.uber.com/go/pickup\u0022},\u0022request_user_agent\u0022:\u0022SignalBrief/1.0 (+local deterministic feed reader)\u0022,\u0022responsive_img_blocks\u0022:[\u0022Highlight\u0022,\u0022Bullets\u0022,\u0022CROPickUpDropOff\u0022,\u0022ContentItems\u0022,\u0022Header\u0022,\u0022Media\u0022,\u0022CROMapHero\u0022,\u0022ArticleHeader\u0022,\u0022MultiLink\u0022,\u0022MultilinkBold\u0022,\u0022CCBContentGrid\u0022,\u0022WCB1SidePhotoPromoMigrated\u0022,\u0022FeaturedArticle\u0022,\u0022ArticleFeed\u0022],\u0022ssr_rendering_feature_flags\u0022:{\u0022city_hub_ssr_rendering_enabled\u0022:false,\u0022eats_carosel_ssr_rendering_enabled\u0022:false,\u0022poi_block_ssr_rendering_enabled\u0022:false,\u0022popular_routes_list_ssr_rendering_enabled\u0022:true,\u0022product_list_ssr_rendering_enabled\u0022:true},\u0022uais_job_postings_blurbs\u0022:{\u0022disclaimer\u0022:\u0022\u0022,\u0022intro\u0022:\u0022\u0022,\u0022whyItMatters\u0022:\u0022\u0022},\u0022url_audience_meta\u0022:{\u0022ride\u0022:{\u0022usl_url\u0022:\u0022https://m.uber.com/login-redirect/\u0022,\u0022patterns\u0022:[\u0022/r/\u0022,\u0022ride\u0022,\u0022uber-one\u0022,\u0022gift\u0022,\u0022rent\u0022,\u0022promo\u0022,\u0022city-hub\u0022]},\u0022drive\u0022:{\u0022usl_url\u0022:\u0022https://drivers.uber.com/\u0022,\u0022patterns\u0022:[\u0022/a/\u0022,\u0022/d/\u0022,\u0022/e/\u0022,\u0022(?\u003C!item-)deliver\u0022,\u0022drive\u0022,\u0022earning\u0022,\u0022uber-pro\u0022]}}}</script>
<script type="application/json" id="__ANALYTICS_PLUGIN_CONFIG__">
{\u0022async\u0022:true,\u0022serviceName\u0022:\u0022uber-sites\u0022,\u0022uuid\u0022:\u0022a68c32c6-4ad3-4a19-a7e5-2d1bdfbb55e5\u0022}
</script>
<script nonce="7c045196-9c90-4634-87c3-e5902fef999a" integrity="sha384-C4EClKu0ywFMFEvayIV8JO1hjJu7jXRJYZtOTC3ZLLhZITYykeasGJu44zijzZL4">(function (){function __youtubeIframeScript__(){var e=document.getElementsByTagName("iframe");try{for(var t=0;t<e.length;t++)if("enabled"===e.item(t).dataset.tracking&&"www.youtube.com"===new URL(e.item(t).src).host){var r=document.createElement("script");r.src="https://www.youtube.com/iframe_api";var a=document.getElementsByTagName("script")[0];return a.parentNode.insertBefore(r,a),void(window.__on_youtube_iframe_ready__=new Promise((e=>{window.onYouTubeIframeAPIReady=e})))}}catch(e){}}
__youtubeIframeScript__();})();</script>
<script type="application/json" id="__FEATURE_TOGGLES__">
{\u0022data\u0022:{}}
</script>
<script type="application/json" id="__USL_GOOGLE_ONE_TAP__">
{\u0022enabled\u0022:false,\u0022googleIdConfiguration\u0022:{\u0022provider\u0022:\u0022google\u0022,\u0022scope\u0022:\u0022profile email\u0022,\u0022prompt\u0022:\u0022select_account\u0022,\u0022ux_mode\u0022:\u0022popup\u0022,\u0022cookiepolicy\u0022:\u0022single_host_origin\u0022,\u0022cancel_on_tap_outside\u0022:false,\u0022itp_support\u0022:false},\u0022showOnMobileScreens\u0022:true,\u0022deferredSessionUrl\u0022:\u0022https://auth.uber.com/v2/create-deferred-session\u0022,\u0022nextUrl\u0022:\u0022https://www.uber.com/sg/en/\u0022,\u0022enableWhenAuthenticated\u0022:false,\u0022shouldManuallyInit\u0022:true,\u0022debugLogging\u0022:false,\u0022clientId\u0022:\u002289939265457-enilmfbsacgcj2b7qq3sc7jc51u5b3ge.apps.googleusercontent.com\u0022,\u0022showOnITPBrowsers\u0022:true}
</script>
<script type="application/json" id="__TRANSLATIONS__">
{\u0022localeCode\u0022:\u0022en\u0022,\u0022translations\u0022:{\u0022Country.display_name.CA\u0022:\u0022Canada\u0022,\u0022Country.display_name.US\u0022:\u0022United States\u0022,\u0022Country.display_name.AL\u0022:\u0022Albania\u0022,\u0022Country.display_name.DZ\u0022:\u0022Algeria\u0022,\u0022Country.display_name.AD\u0022:\u0022Andorra\u0022,\u0022Country.display_name.AR\u0022:\u0022Argentina\u0022,\u0022Country.display_name.AT\u0022:\u0022Austria\u0022,\u0022Country.display_name.AZ\u0022:\u0022Azerbaijan\u0022,\u0022Country.display_name.BH\u0022:\u0022Bahrain\u0022,\u0022Country.display_name.BD\u0022:\u0022Bangladesh\u0022,\u0022Country.display_name.BY\u0022:\u0022Belarus\u0022,\u0022Country.display_name.GB\u0022:\u0022United Kingdom\u0022,\u0022Country.display_name.BJ\u0022:\u0022Benin\u0022,\u0022Country.display_name.BA\u0022:\u0022Bosnia and Herzegovina\u0022,\u0022Country.display_name.IE\u0022:\u0022Ireland\u0022,\u0022Country.display_name.BW\u0022:\u0022Botswana\u0022,\u0022Country.display_name.IL\u0022:\u0022Israel\u0022,\u0022Country.display_name.BG\u0022:\u0022Bulgaria\u0022,\u0022Country.display_name.FR\u0022:\u0022France\u0022,\u0022Country.display_name.BF\u0022:\u0022Burkina Faso\u0022,\u0022Country.display_name.BI\u0022:\u0022Burundi\u0022,\u0022Country.display_name.BE\u0022:\u0022Belgium\u0022,\u0022Country.display_name.KH\u0022:\u0022Cambodia\u0022,\u0022Country.display_name.CM\u0022:\u0022Cameroon\u0022,\u0022Country.display_name.CV\u0022:\u0022Cape Verde\u0022,\u0022Country.display_name.CF\u0022:\u0022Central African Republic\u0022,\u0022Country.display_name.TD\u0022:\u0022Chad\u0022,\u0022Country.display_name.DK\u0022:\u0022Denmark\u0022,\u0022Country.display_name.CN\u0022:\u0022China, People's Republic of\u0022,\u0022Country.display_name.FI\u0022:\u0022Finland\u0022,\u0022Country.display_name.GR\u0022:\u0022Greece\u0022,\u0022Country.display_name.DE\u0022:\u0022Germany\u0022,\u0022Country.display_name.CO\u0022:\u0022Colombia\u0022,\u0022Country.display_name.IT\u0022:\u0022Italy\u0022,\u0022Country.display_name.KM\u0022:\u0022Comoros\u0022,\u0022Country.display_name.CR\u0022:\u0022Costa Rica\u0022,\u0022Country.display_name.HR\u0022:\u0022Croatia\u0022,\u0022Country.display_name.NL\u0022:\u0022Netherlands\u0022,\u0022Country.display_name.NO\u0022:\u0022Norway\u0022,\u0022Country.display_name.PL\u0022:\u0022Poland\u0022,\u0022Country.display_name.PT\u0022:\u0022Portugal\u0022,\u0022Country.display_name.RO\u0022:\u0022Romania\u0022,\u0022Country.display_name.ES\u0022:\u0022Spain\u0022,\u0022Country.display_name.CH\u0022:\u0022Switzerland\u0022,\u0022Country.display_name.UA\u0022:\u0022Ukraine\u0022,\u0022Country.display_name.CY\u0022:\u0022Cyprus\u0022,\u0022Country.display_name.CZ\u0022:\u0022Czech Republic\u0022,\u0022Country.display_name.CG\u0022:\u0022Congo, Republic of the (Congo - Brazzaville)\u0022,\u0022Country.display_name.SE\u0022:\u0022Sweden\u0022,\u0022Country.display_name.DO\u0022:\u0022Dominican Republic\u0022,\u0022Country.display_name.EC\u0022:\u0022Ecuador\u0022,\u0022Country.display_name.EG\u0022:\u0022Egypt\u0022,\u0022Country.display_name.SV\u0022:\u0022El Salvador\u0022,\u0022Country.display_name.EE\u0022:\u0022Estonia\u0022,\u0022Country.display_name.ET\u0022:\u0022Ethiopia\u0022,\u0022Country.display_name.GM\u0022:\u0022Gambia, The\u0022,\u0022Country.display_name.GH\u0022:\u0022Ghana\u0022,\u0022Country.display_name.GU\u0022:\u0022Guam\u0022,\u0022Country.display_name.GT\u0022:\u0022Guatemala\u0022,\u0022Country.display_name.GG\u0022:\u0022Guernsey and Alderney\u0022,\u0022Country.display_name.HU\u0022:\u0022Hungary\u0022,\u0022Country.display_name.KE\u0022:\u0022Kenya\u0022,\u0022Country.display_name.NG\u0022:\u0022Nigeria\u0022,\u0022Country.display_name.ZA\u0022:\u0022South Africa\u0022,\u0022Country.display_name.IS\u0022:\u0022Iceland\u0022,\u0022Country.display_name.ID\u0022:\u0022Indonesia\u0022,\u0022Country.display_name.IQ\u0022:\u0022Iraq\u0022,\u0022Country.display_name.IM\u0022:\u0022Isle of Man\u0022,\u0022Country.display_name.CI\u0022:\u0022Cote d'Ivoire (Ivory Coast)\u0022,\u0022Country.display_name.JO\u0022:\u0022Jordan\u0022,\u0022Country.display_name.KZ\u0022:\u0022Kazakhstan\u0022,\u0022Country.display_name.KW\u0022:\u0022Kuwait\u0022,\u0022Country.display_name.LV\u0022:\u0022Latvia\u0022,\u0022Country.display_name.LB\u0022:\u0022Lebanon\u0022,\u0022Country.display_name.AE\u0022:\u0022United Arab Emirates\u0022,\u0022Country.display_name.LT\u0022:\u0022Lithuania\u0022,\u0022Country.display_name.LU\u0022:\u0022Luxembourg\u0022,\u0022Country.display_name.MO\u0022:\u0022Macau\u0022,\u0022Country.display_name.MY\u0022:\u0022Malaysia\u0022,\u0022Country.display_name.BR\u0022:\u0022Brazil\u0022,\u0022Country.display_name.MX\u0022:\u0022Mexico\u0022,\u0022Country.display_name.MT\u0022:\u0022Malta\u0022,\u0022Country.display_name.CL\u0022:\u0022Chile\u0022,\u0022Country.display_name.MA\u0022:\u0022Morocco\u0022,\u0022Country.display_name.MM\u0022:\u0022Myanmar (Burma)\u0022,\u0022Country.display_name.NA\u0022:\u0022Namibia\u0022,\u0022Country.display_name.NP\u0022:\u0022Nepal\u0022,\u0022Country.display_name.OM\u0022:\u0022Oman\u0022,\u0022Country.display_name.PK\u0022:\u0022Pakistan\u0022,\u0022Country.display_name.PA\u0022:\u0022Panama\u0022,\u0022Country.display_name.PY\u0022:\u0022Paraguay\u0022,\u0022Country.display_name.PE\u0022:\u0022Peru\u0022,\u0022Country.display_name.AU\u0022:\u0022Australia\u0022,\u0022Country.display_name.NZ\u0022:\u0022New Zealand\u0022,\u0022Country.display_name.PH\u0022:\u0022Philippines\u0022,\u0022Country.display_name.IN\u0022:\u0022India\u0022,\u0022Country.display_name.PR\u0022:\u0022Puerto Rico\u0022,\u0022Country.display_name.QA\u0022:\u0022Qatar\u0022,\u0022Country.display_name.RU\u0022:\u0022Russia\u0022,\u0022Country.display_name.HK\u0022:\u0022Hong Kong\u0022,\u0022Country.display_name.TW\u0022:\u0022Taiwan (ROC)\u0022,\u0022Country.display_name.SA\u0022:\u0022Saudi Arabia\u0022,\u0022Country.display_name.JP\u0022:\u0022Japan\u0022,\u0022Country.display_name.RS\u0022:\u0022Serbia\u0022,\u0022Country.display_name.SG\u0022:\u0022Singapore\u0022,\u0022Country.display_name.SK\u0022:\u0022Slovakia\u0022,\u0022Country.display_name.SI\u0022:\u0022Slovenia\u0022,\u0022Country.display_name.KR\u0022:\u0022Korea, Republic of (South Korea)\u0022,\u0022Country.display_name.LK\u0022:\u0022Sri Lanka\u0022,\u0022Country.display_name.TZ\u0022:\u0022Tanzania\u0022,\u0022Country.display_name.TH\u0022:\u0022Thailand\u0022,\u0022Country.display_name.TR\u0022:\u0022Turkey\u0022,\u0022Country.display_name.UG\u0022:\u0022Uganda\u0022,\u0022Country.display_name.UY\u0022:\u0022Uruguay\u0022,\u0022Country.display_name.VN\u0022:\u0022Vietnam\u0022,\u0022common.accessibility.skip-to-main-content\u0022:\u0022Skip to main content\u0022,\u0022common.brand.uber.text\u0022:\u0022Uber\u0022,\u0022common.button.close.aria-label\u0022:\u0022Close pop-up window\u0022,\u0022common.button.close.text\u0022:\u0022Close\u0022,\u0022common.carousel.button.next.aria-label\u0022:\u0022Advance to next gallery item\u0022,\u0022common.carousel.button.next.text\u0022:\u0022Next\u0022,\u0022common.carousel.button.previous.aria-label\u0022:\u0022Return to previous gallery item\u0022,\u0022common.carousel.button.previous.text\u0022:\u0022Previous\u0022,\u0022common.carousel.nav.wrapper.aria-label\u0022:\u0022Gallery controls\u0022,\u0022common.carousel.dot.aria-label\u0022:\u0022Slide ${current} of ${total}\u0022,\u0022page-not-found.heading.text\u0022:\u0022Sorry, we couldn’t find that page\u0022,\u0022page-not-found.body.text\u0022:\u0022We have shifted a few things around, and your page must have gotten lost. Try retyping the address or just head back to our home page.\u0022,\u0022page-not-found.cta.text\u0022:\u0022Go to Uber.com\u0022,\u0022page-not-found.cta.aria-label\u0022:\u0022Go to Uber.com\u0022,\u0022page-not-found.cta-business.text\u0022:\u0022Go to Uber for Business\u0022,\u0022page-not-found.cta-business.aria-label\u0022:\u0022Go to Uber for Business\u0022,\u0022page-not-found.cta-careers.text\u0022:\u0022Go to Uber Careers\u0022,\u0022page-not-found.cta-careers.aria-label\u0022:\u0022Go to Uber Careers\u0022,\u0022page-not-found.cta-merchants.text\u0022:\u0022Go to Uber Eats for Merchants\u0022,\u0022page-not-found.cta-merchants.aria-label\u0022:\u0022Go to Uber Eats for Merchants\u0022,\u0022page-not-found.cta-freights.text\u0022:\u0022Go to Uber Freight\u0022,\u0022page-not-found.cta-freights.aria-label\u0022:\u0022Go to Uber Freights\u0022,\u0022page-not-found.cta-health.text\u0022:\u0022Go to Uber Health\u0022,\u0022page-not-found.cta-health.aria-label\u0022:\u0022Go to Uber Health\u0022,\u0022page-not-found.title.text\u0022:\u0022Page Not Found\u0022,\u0022notification.browser_support.ie.body\u0022:\u0022This probably isn't the experience you were expecting. Internet Explorer isn't supported on Uber.com. Try switching to a different browser to view our site.\u0022,\u0022notification.browser_support.ie.heading\u0022:\u0022Browser not supported\u0022,\u0022cro.pudo.dropdown.no-results\u0022:\u0022No results\u0022,\u0022cro-pudo.add-stop\u0022:\u0022Add a stop\u0022,\u0022cro-pudo.bounce.cta\u0022:\u0022For me\u0022,\u0022cro-pudo.bounce.heading\u0022:\u0022Switch rider\u0022,\u0022cro-pudo.bounce.for-me\u0022:\u0022For me\u0022,\u0022cro-pudo.bounce.for-someone-else\u0022:\u0022For someone else\u0022,\u0022cro-pudo.schedule.cta\u0022:\u0022Pickup now\u0022,\u0022cro-pudo.schedule.heading\u0022:\u0022Schedule ride\u0022,\u0022cro-pudo.schedule.pickup-now\u0022:\u0022Pickup now\u0022,\u0022cro-pudo.schedule.schedule-later\u0022:\u0022Schedule later\u0022,\u0022common.button.cancel\u0022:\u0022Cancel\u0022,\u0022common.button.confirm\u0022:\u0022Confirm\u0022,\u0022cro-pudo.date-picker.label\u0022:\u0022Date\u0022,\u0022cro-pudo.time-picker.label\u0022:\u0022Time\u0022,\u0022pudo.city_selector_option.text\u0022:\u0022Search in a different city\u0022,\u0022challenge.heading.main\u0022:\u0022One more step\u0022,\u0022challenge.heading.complete_assessment\u0022:\u0022Please wait while we complete an automated security check.\u0022,\u0022challenge.message.token_expired\u0022:\u0022Challenge request expired. Please refresh the page and try again.\u0022,\u0022challenge.message.generic_error\u0022:\u0022Something went wrong. Please refresh the page and try again.\u0022,\u0022challenge.message.redirecting\u0022:\u0022Challenge completed. Redirecting you back...\u0022,\u0022challenge.message.long_load\u0022:\u0022Hang tight, this is taking longer than expected.\u0022,\u0022challenge.cta.continue\u0022:\u0022Continue\u0022,\u0022gpc-banner.title\u0022:\u0022Opt-out preference signal honored. For more information, please visit our \u003CgpcTitleLink\u003EUnited States Privacy Notice\u003C/gpcTitleLink\u003E.\u0022,\u0022gpc-banner.error\u0022:\u0022There was an error in processing your opt-out preference signal. Please try again \u003CgpcErrorLink\u003Ehere\u003C/gpcErrorLink\u003E.\u0022,\u0022cookie-preferences.single-layer-opt-out.summary\u0022:\u0022This website uses third party cookies to serve you relevant ads and provide personalization by remembering your location. You may opt out from these cookies by selecting the \\u0022Opt out\\u0022 button below. If you have an Uber account, you may opt out of the \\u0022sale\\u0022 or \\u0022sharing\\u0022 of your data \u003CsharingOptOutLink\u003Ehere\u003C/sharingOptOutLink\u003E.\u0022,\u0022cookie-preferences.single-layer-opt-out.opt-out-cta\u0022:\u0022Opt out\u0022,\u0022cookie-preferences.single-layer-opt-out.opt-in-cta\u0022:\u0022Got it\u0022,\u0022cookie-preferences.multi-layer-opt-in.title\u0022:\u0022We use cookies\u0022,\u0022cookie-preferences.multi-layer-opt-in.initial-layer.summary\u0022:\u0022Select “Accept” to enable Uber to use cookies to personalize this site. We use cookies to remember your location, deliver ads, and measure ad effectiveness on other apps and websites, including social media. Customize your preferences in your Cookie Settings, or select Reject if you only want us to use essential cookies. Learn more in our \u003CcookieStatementLink\u003ECookie Notice\u003C/cookieStatementLink\u003E.\u0022,\u0022cookie-preferences.multi-layer-opt-in.initial-layer.opt-in-cta\u0022:\u0022Accept\u0022,\u0022cookie-preferences.multi-layer-opt-in.opt-out-cta\u0022:\u0022Reject\u0022,\u0022cookie-preferences.multi-layer-opt-in.initial-layer.cookie-settings-cta\u0022:\u0022Cookie settings\u0022,\u0022cookie-preferences.multi-layer-opt-in.settings-layer.essential\u0022:\u0022Essential\u0022,\u0022cookie-preferences.multi-layer-opt-in.settings-layer.essential-summary\u0022:\u0022Essential cookies are necessary for features which are essential to your use of our site or services, such as account login, authentication, and site security.\u0022,\u0022cookie-preferences.multi-layer-opt-in.settings-layer.targeted-advertising\u0022:\u0022Targeted advertising\u0022,\u0022cookie-preferences.multi-layer-opt-in.settings-layer.targeted-advertising-summary\u0022:\u0022Targeted advertising cookies allow Uber to share your data with advertising partners, including social media companies, to send you more relevant ads on other apps and websites, and for purposes determined by those partners.\u0022,\u0022cookie-preferences.multi-layer-opt-in.settings-layer.analytics\u0022:\u0022Analytics\u0022,\u0022cookie-preferences.multi-layer-opt-in.settings-layer.analytics-summary\u0022:\u0022Analytics cookies allow Uber to analyze your visits and actions on our and third-party apps and websites to understand your interests and be able to offer you more relevant ads on other apps and websites.\u0022,\u0022cookie-preferences.multi-layer-opt-in.settings-layer.accept-cta\u0022:\u0022Accept cookies\u0022,\u0022cookie-preferences.multi-layer-opt-in.settings-layer.close-settings-cta\u0022:\u0022Hide\u0022,\u0022cookie.banner.ccpa.body\u0022:\u0022This website uses third party advertising cookies to serve you relevant ads. You may opt-out from these third party ad cookies by clicking the “Opt-out” button below. If you have an Uber account, you may opt-out of the “sale” or “sharing” of your data ${constructedCCPACookieLink}.\u0022,\u0022cookie.banner.ccpa.url.text\u0022:\u0022here\u0022,\u0022cookie.banner.optin.text\u0022:\u0022Got it\u0022,\u0022cookie.banner.optout.text\u0022:\u0022Opt out\u0022,\u0022cookie.banner.gdpr.body\u0022:\u0022Click “Accept” to enable Uber to use cookies to personalize this site, and to deliver ads and measure their effectiveness on other apps and websites, including social media. Customize your preferences in your Cookie Settings or click “Reject” if you do not want us to use cookies for this purpose. Learn more in our ${constructedGDPRCookieLink}.\u0022,\u0022cookie.banner.gdpr.url.text\u0022:\u0022Cookie Notice\u0022,\u0022cookie.banner.gdpr.optout.text\u0022:\u0022Reject\u0022,\u0022cookie.banner.gdpr.optin.text\u0022:\u0022Accept\u0022,\u0022cookie.banner.gdpr.optin.text.alt\u0022:\u0022Accept cookies\u0022,\u0022cookie.banner.title\u0022:\u0022We use cookies\u0022,\u0022cookie.banner.settings.button\u0022:\u0022Cookie settings\u0022,\u0022cookie.banner.settings.button.alt\u0022:\u0022Hide\u0022,\u0022cookie.banner.essential\u0022:\u0022Essential\u0022,\u0022cookie.banner.essential.description\u0022:\u0022Essential cookies are necessary for features which are essential to your use of our site or services, such as account login, authentication, and site security.\u0022,\u0022cookie.banner.trageted.ad\u0022:\u0022Targeted advertising\u0022,\u0022cookie.banner.trageted.ad.description\u0022:\u0022Targeted advertising cookies allow Uber to share your data with advertising partners, including social media companies, to send you more relevant ads on other apps and websites, and for purposes determined by those partners.\u0022,\u0022cookie.banner.analytics\u0022:\u0022Analytics\u0022,\u0022cookie.banner.analytics.description\u0022:\u0022Analytics cookies allow Uber to analyze your visits and actions on our and third-party apps and websites to understand your interests and be able to offer you more relevant ads on other apps and websites.\u0022,\u0022gpc.banner.title\u0022:\u0022Opt-out preference signal honored. For more information, please visit our ${constructedGPCTitleLink}. \u0022,\u0022gpc.banner.title.link.text\u0022:\u0022United States Privacy Notice\u0022,\u0022gpc.banner.error\u0022:\u0022There was an error in processing your opt-out preference signal. Please try again ${constructedGPCErrorLink}. \u0022,\u0022gpc.banner.error.link.text\u0022:\u0022here\u0022,\u0022cookie-preferences.single-layer-opt-out.summary.ca\u0022:\u0022This website uses cookies to personalize your experience. Cookies are used to remember your location, deliver ads, and measure ad effectiveness on other apps and websites, including social media. You may select “Opt out” if you do not want us to use cookies for this purpose. Learn more in our \u003CsharingOptOutLink\u003ECookie Notice\u003C/sharingOptOutLink\u003E.\u0022,\u0022newsroom.article.feed.article\u0022:\u0022article\u0022,\u0022newsroom.article.feed.articles\u0022:\u0022articles\u0022,\u0022newsroom.article.feed.next\u0022:\u0022Next\u0022,\u0022newsroom.article.feed.prev\u0022:\u0022Prev\u0022,\u0022newsroom.article.feed.prep\u0022:\u0022of\u0022,\u0022newsroom.article.feed.no-articles-found\u0022:\u0022No articles found.\u0022,\u0022newsroom.article.feed.all-categories\u0022:\u0022All categories\u0022,\u0022newsroom.article.feed.filter-by\u0022:\u0022Filter by:\u0022,\u0022newsroom.article.feed.headline\u0022:\u0022Related Articles\u0022,\u0022location.banner.selectcity.text\u0022:\u0022You're seeing information for \u003Cb style='white-space:nowrap'\u003E${cityName}\u003C/b\u003E.\u0022,\u0022location.banner.alt.button.text\u0022:\u0022Select a different location\u0022,\u0022header.panel.language.change_language.aria_label\u0022:\u0022Change language\u0022,\u0022header.panel.more_link.text\u0022:\u0022More\u0022,\u0022common.button.hamburger.text\u0022:\u0022Menu\u0022,\u0022header.panel.language.cta.text\u0022:\u0022Select your preferred language\u0022,\u0022header.panel.geolocation.enter-a-city.text\u0022:\u0022Enter a city\u0022,\u0022header.panel.geolocation.help-info-alt.text\u0022:\u0022You're seeing information for ${location}. To see local features and services for another location, enter a city in the search box above.\u0022,\u0022header.panel.geolocation.cta.show-more.text\u0022:\u0022Show more\u0022,\u0022header.panel.geolocation.cta.show-less.text\u0022:\u0022Show less\u0022,\u0022header.panel.geolocation.select-city-error.text\u0022:\u0022Location not available, please try again\u0022,\u0022header.notification.heading.text\u0022:\u0022How we use cookies\u0022,\u0022header.notification.body.text\u0022:\u0022Your selected location is saved by using cookies so that you can see relevant information each time you return.\u0022,\u0022footer.language.copy.detailed-text.aria-label\u0022:\u0022Current language: ${language}\u0022,\u0022footer.geolocation.copy.text\u0022:\u0022Seeing information for this city\u0022,\u0022navigation.rider.identity.hub.user.rating\u0022:\u0022user rating\u0022,\u0022navigation.rider.identity.hub.user.name\u0022:\u0022user name\u0022,\u0022navigation.rider.identity.hub.uber.cash.balance\u0022:\u0022uber cash balance\u0022,\u0022navigation.rider.identity.hub.uber.one\u0022:\u0022Uber One\u0022,\u0022newsroom.article-header.social-share-links.share-this-article\u0022:\u0022Share this article\u0022,\u0022newsroom.article.categories.label\u0022:\u0022Category\u0022,\u0022newsroom.article.author.headline\u0022:\u0022Written by\u0022,\u0022footer.geolocation.default.location\u0022:\u0022San Francisco Bay Area\u0022}}
</script>
<script type="application/json" id="__FILE_UPLOAD__">
{\u0022value\u0022:{\u0022options\u0022:{\u0022apiPrefix\u0022:\u0022/wisdom-bug-reporter\u0022,\u0022apiNegotiatePath\u0022:\u0022/negotiate\u0022,\u0022apiUploadPath\u0022:\u0022/upload\u0022,\u0022clientEncryption\u0022:true,\u0022maxConcurrentUploads\u0022:3,\u0022maxRetries\u0022:2,\u0022endpoint\u0022:\u0022tech-issue-tracker\u0022}}}
</script>
<script type="application/json" id="__MANAGED_TRANSLATIONS__">
[{\u0022accordion\u0022:{\u0022collapse\u0022:\u0022Collapse\u0022,\u0022expand\u0022:\u0022Expand\u0022},\u0022breadcrumbs\u0022:{\u0022ariaLabel\u0022:\u0022Breadcrumbs navigation\u0022},\u0022datepicker\u0022:{\u0022ariaLabel\u0022:\u0022Select a date.\u0022,\u0022ariaLabelRange\u0022:\u0022Select a date range.\u0022,\u0022ariaLabelCalendar\u0022:\u0022Calendar.\u0022,\u0022ariaRoleDescriptionCalendarMonth\u0022:\u0022Calendar month\u0022,\u0022previousMonth\u0022:\u0022Previous month.\u0022,\u0022nextMonth\u0022:\u0022Next month.\u0022,\u0022pastWeek\u0022:\u0022Past Week\u0022,\u0022pastMonth\u0022:\u0022Past Month\u0022,\u0022pastThreeMonths\u0022:\u0022Past 3 Months\u0022,\u0022pastSixMonths\u0022:\u0022Past 6 Months\u0022,\u0022pastYear\u0022:\u0022Past Year\u0022,\u0022pastTwoYears\u0022:\u0022Past 2 Years\u0022,\u0022screenReaderMessageInput\u0022:\u0022Press the down arrow key to interact with the calendar and select a date. Press the escape button to close the calendar.\u0022,\u0022selectedDate\u0022:\u0022Selected date is ${date}.\u0022,\u0022selectedDateRange\u0022:\u0022Selected date range is from ${startDate} to ${endDate}.\u0022,\u0022selectSecondDatePrompt\u0022:\u0022Select the second date.\u0022,\u0022quickSelectLabel\u0022:\u0022Choose a date range\u0022,\u0022quickSelectAriaLabel\u0022:\u0022Choose a date range\u0022,\u0022quickSelectPlaceholder\u0022:\u0022None\u0022,\u0022timeSelectEndLabel\u0022:\u0022End time\u0022,\u0022timeSelectStartLabel\u0022:\u0022Start time\u0022,\u0022timePickerAriaLabel12Hour\u0022:\u0022Select a time, 12-hour format.\u0022,\u0022timePickerAriaLabel24Hour\u0022:\u0022Select a time, 24-hour format.\u0022,\u0022timezonePickerAriaLabel\u0022:\u0022Select a timezone.\u0022,\u0022selectedStartDateLabel\u0022:\u0022Selected start date.\u0022,\u0022selectedEndDateLabel\u0022:\u0022Selected end date.\u0022,\u0022dateNotAvailableLabel\u0022:\u0022Not available.\u0022,\u0022dateAvailableLabel\u0022:\u0022It's available.\u0022,\u0022selectedLabel\u0022:\u0022Selected.\u0022,\u0022chooseLabel\u0022:\u0022Choose\u0022},\u0022datatable\u0022:{\u0022emptyState\u0022:\u0022No rows match the filter criteria defined. Please remove one or more filters to view more data.\u0022,\u0022loadingState\u0022:\u0022Loading rows.\u0022,\u0022searchAriaLabel\u0022:\u0022Search by text\u0022,\u0022filterAdd\u0022:\u0022Add Filter\u0022,\u0022filterExclude\u0022:\u0022Exclude\u0022,\u0022filterApply\u0022:\u0022Apply\u0022,\u0022filterExcludeRange\u0022:\u0022Exclude range\u0022,\u0022filterExcludeValue\u0022:\u0022Exclude value\u0022,\u0022filterAppliedTo\u0022:\u0022filter applied to\u0022,\u0022optionsLabel\u0022:\u0022Select column to filter by\u0022,\u0022optionsSearch\u0022:\u0022Search for a column to filter by...\u0022,\u0022optionsEmpty\u0022:\u0022No columns available.\u0022,\u0022categoricalFilterSearchLabel\u0022:\u0022Search categories\u0022,\u0022categoricalFilterSelectAll\u0022:\u0022Select All\u0022,\u0022categoricalFilterSelectClear\u0022:\u0022Clear\u0022,\u0022categoricalFilterEmpty\u0022:\u0022No categories found\u0022,\u0022datetimeFilterRange\u0022:\u0022Range\u0022,\u0022datetimeFilterRangeDatetime\u0022:\u0022Date, Time\u0022,\u0022datetimeFilterRangeDate\u0022:\u0022Date\u0022,\u0022datetimeFilterRangeTime\u0022:\u0022Time\u0022,\u0022datetimeFilterCategorical\u0022:\u0022Categorical\u0022,\u0022datetimeFilterCategoricalWeekday\u0022:\u0022Weekday\u0022,\u0022datetimeFilterCategoricalMonth\u0022:\u0022Month\u0022,\u0022datetimeFilterCategoricalQuarter\u0022:\u0022Quarter\u0022,\u0022datetimeFilterCategoricalHalf\u0022:\u0022Half\u0022,\u0022datetimeFilterCategoricalFirstHalf\u0022:\u0022H1\u0022,\u0022datetimeFilterCategoricalSecondHalf\u0022:\u0022H2\u0022,\u0022datetimeFilterCategoricalYear\u0022:\u0022Year\u0022,\u0022numericalFilterRange\u0022:\u0022Range\u0022,\u0022numericalFilterSingleValue\u0022:\u0022Single Value\u0022,\u0022booleanFilterTrue\u0022:\u0022true\u0022,\u0022booleanFilterFalse\u0022:\u0022false\u0022,\u0022booleanColumnTrueShort\u0022:\u0022T\u0022,\u0022booleanColumnFalseShort\u0022:\u0022F\u0022,\u0022selectRow\u0022:\u0022Select row\u0022,\u0022selectAllRows\u0022:\u0022Select all rows\u0022,\u0022sortColumn\u0022:\u0022Sort column\u0022},\u0022buttongroup\u0022:{\u0022ariaLabel\u0022:\u0022button group\u0022},\u0022fileuploaderbasic\u0022:{\u0022dropFilesToUpload\u0022:\u0022baseui.fileuploaderbasic.drop_files_to_upload\u0022,\u0022or\u0022:\u0022baseui.fileuploaderbasic.or\u0022,\u0022browseFiles\u0022:\u0022baseui.fileuploaderbasic.browse_files\u0022,\u0022retry\u0022:\u0022baseui.fileuploaderbasic.retry\u0022,\u0022cancel\u0022:\u0022baseui.fileuploaderbasic.cancel\u0022},\u0022menu\u0022:{\u0022noResultsMsg\u0022:\u0022No results\u0022,\u0022parentMenuItemAriaLabel\u0022:\u0022You are currently at an item that opens a nested listbox. Press right arrow to enter that element and left arrow to return.\u0022},\u0022modal\u0022:{\u0022close\u0022:\u0022Close\u0022},\u0022drawer\u0022:{\u0022close\u0022:\u0022Close\u0022},\u0022pagination\u0022:{\u0022prev\u0022:\u0022Prev\u0022,\u0022next\u0022:\u0022Next\u0022,\u0022preposition\u0022:\u0022of\u0022},\u0022select\u0022:{\u0022noResultsMsg\u0022:\u0022No results found\u0022,\u0022placeholder\u0022:\u0022Select...\u0022,\u0022create\u0022:\u0022Create\u0022},\u0022toast\u0022:{\u0022close\u0022:\u0022Close\u0022}}]
</script>
<script type="application/json" id="__LOCAL_REDUX_STATE_NewsroomArticleHeader_Store_%2Fus%2Fen%2Fblog%2Ffrom-static-rate-limiting-to-intelligent-load-management%2F__">
%7B%22articleHeaderAuthors%22%3A%7B%22authors%22%3A%5B%7B%22bio%22%3A%22Dhyanam%20Vaidya%20is%20a%20Software%20Engineer%20on%20Uber%E2%80%99s%20Storage%20Platform%20team.%20He%E2%80%99s%20contributed%20to%20the%20design%20and%20implementation%20of%20many%20Docstore%20features.%20His%20work%20focuses%20on%20improving%20the%20reliability%2C%20resilience%2C%20and%20operational%20efficiency%20of%20Uber%E2%80%99s%20distributed%20databases%20at%20scale.%22%2C%22id%22%3A%22f7a737e3-1f43-4a32-b291-1a5e76d4d7a8%22%2C%22image%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F124c7199-2df7-571b-8b19-6f28ef6b202a.png%22%2C%22name%22%3A%22Dhyanam%20Vaidya%22%7D%2C%7B%22bio%22%3A%22Prathamesh%20Deshpande%20is%20a%20Staff%20Engineer%20on%20Uber%E2%80%99s%20Storage%20Platform%20team%2C%20building%20database%20features%20and%20distributed%20storage%20systems%20that%20meet%20Uber%E2%80%99s%20global%20reliability%20and%20performance%20requirements.%20His%20work%20focuses%20on%20large-scale%20data%20management%2C%20distributed%20database%20storage%20systems%2C%20and%20platform%20reliability.%22%2C%22id%22%3A%2286259135-a80c-481a-a5fe-fcceda8675f6%22%2C%22image%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F6c27e43b-3bd7-5845-b362-fc936bb24611.png%22%2C%22name%22%3A%22Prathamesh%20Deshpande%22%7D%2C%7B%22bio%22%3A%22Mike%20Ma%20is%20a%20Staff%20Software%20Engineer%20on%20Uber%E2%80%99s%20Storage%20Platform%20team%2C%20where%20he%20has%20contributed%20to%20multiple%20core%20components%20of%20both%20Schemaless%20and%20Docstore.%20His%20work%20focuses%20on%20scalability%2C%20reliability%2C%20performance%2C%20and%20operational%20excellence%20across%20Uber%E2%80%99s%20large%20scale%20distributed%20databases.%22%2C%22id%22%3A%22ea8460c7-3c20-4c16-b520-6a256a231461%22%2C%22image%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F871dc4d1-789b-57a9-8ead-42b54c966c01.png%22%2C%22name%22%3A%22Mike%20Ma%22%7D%2C%7B%22bio%22%3A%22Chaitanya%20Yalamanchili%20is%20a%20Sr.%20Manager%20and%20technical%20lead%20on%20Uber%E2%80%99s%20%20Storage%20Platform%20team.%20He%20leads%20the%20development%20of%20online%20distributed%20storage%20systems%20with%20a%20focus%20on%20providing%20a%20world-class%20platform%20that%20powers%20all%20the%20critical%20business%20functions%20and%20lines%20of%20business%20at%20Uber.%20The%20platform%20serves%20tens%20of%20millions%20of%20QPS%20and%20stores%20tens%20of%20Petabytes%20of%20operational%20data.%22%2C%22id%22%3A%227d1df95a-3397-4b6c-93c7-ed79d6748398%22%2C%22image%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F019be9ad-8647-55c0-994d-d316ce1138e7.png%22%2C%22name%22%3A%22Chaitanya%20Yalamanchili%22%7D%5D%2C%22error%22%3Afalse%2C%22hasClientLoaded%22%3Afalse%2C%22hasServerLoaded%22%3Atrue%2C%22isLoading%22%3Afalse%7D%7D
</script>
<script type="application/json" id="__LOCAL_REDUX_STATE_Newsroom_Article Categories Store_%2Fus%2Fen%2Fblog%2Ffrom-static-rate-limiting-to-intelligent-load-management%2F__">
%7B%22listCategories%22%3A%7B%22error%22%3Afalse%2C%22hasClientLoaded%22%3Afalse%2C%22hasServerLoaded%22%3Atrue%2C%22isLoading%22%3Afalse%2C%22newsroomCategories%22%3A%5B%7B%22ID%22%3A%220bf657bb-dd5b-4659-b33b-e55cb88324b6%22%2C%22name%22%3A%22Publications%22%2C%22originalName%22%3A%22Publications%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fpubs%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%220ffcf021-5577-461e-b746-6c17f1115c51%22%2C%22name%22%3A%22Merchants%20and%20Restaurants%22%2C%22originalName%22%3A%22Merchants%20and%20Restaurants%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22merchants-and-restaurants%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22newsroom%22%7D%2C%7B%22ID%22%3A%2216c6ef99-f647-4fb4-85c7-640bd66dee23%22%2C%22name%22%3A%22Web%22%2C%22originalName%22%3A%22Web%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fweb%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22186509a5-4b48-48d9-b19e-a13ee286f0c7%22%2C%22name%22%3A%22Uber%20One%22%2C%22originalName%22%3A%22Uber%20One%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22uber-one%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22newsroom%22%7D%2C%7B%22ID%22%3A%22187172d6-8966-4d93-93e1-42c7f9fc6b6b%22%2C%22name%22%3A%22All%22%2C%22originalName%22%3A%22All%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22all%22%2C%22tags%22%3A%5B%22line-of-business%22%5D%2C%22theNamespace%22%3A%22legal%22%7D%2C%7B%22ID%22%3A%2219c4353b-7610-4816-a2fa-7c2c7c600fb9%22%2C%22name%22%3A%22Privacy%20and%20Other%20Notices%22%2C%22originalName%22%3A%22Privacy%20and%20Other%20Notices%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22privacy-and-other-notices%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22legal%22%7D%2C%7B%22ID%22%3A%221ab4177f-7935-4118-9ff9-fe7f8f23b178%22%2C%22name%22%3A%22Stories%22%2C%22originalName%22%3A%22Stories%22%2C%22parentID%22%3A%22e9800f78-4271-4039-8364-861068326379%22%2C%22slug%22%3A%22eat%2Feats-stories%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%221c3ba6e7-e922-4eda-a18e-9e25e4c27b12%22%2C%22name%22%3A%22Autonomous%22%2C%22originalName%22%3A%22Autonomous%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22autonomous%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22newsroom%22%7D%2C%7B%22ID%22%3A%222432c86e-8b69-4469-a559-1249baccfea9%22%2C%22name%22%3A%22Subscriptions%20and%20Rewards%22%2C%22originalName%22%3A%22Subscriptions%20and%20Rewards%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22subscriptions-and-rewards-programs%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22legal%22%7D%2C%7B%22ID%22%3A%222504ce39-9c11-475c-8ad7-8104b65406ef%22%2C%22name%22%3A%22Earn%22%2C%22originalName%22%3A%22Earn%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22earn%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%2232c923ac-429c-49a0-a2b4-2bc71768ab6c%22%2C%22name%22%3A%22Featured%22%2C%22originalName%22%3A%22Featured%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22featured%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22newsroom%22%7D%2C%7B%22ID%22%3A%22346c8756-3e2b-4d8b-a9a0-6d6615c20448%22%2C%22name%22%3A%22Transit%22%2C%22originalName%22%3A%22Transit%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22transit%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%223d3488e5-03f8-4692-a6c0-7f151a6bde57%22%2C%22name%22%3A%22Uber%20Eats%20-%20Merchants%22%2C%22originalName%22%3A%22Uber%20Eats%20-%20Merchants%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22uber-eats---merchants%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22legal%22%7D%2C%7B%22ID%22%3A%2240cbe86f-e33b-4ea2-b5b0-16b3778507b8%22%2C%22name%22%3A%22Freight%22%2C%22originalName%22%3A%22Freight%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22freight%22%2C%22tags%22%3A%5B%22line-of-business%22%5D%2C%22theNamespace%22%3A%22legal%22%7D%2C%7B%22ID%22%3A%2241468f00-57d4-4c3d-915d-ed98a8990baa%22%2C%22name%22%3A%22Products%22%2C%22originalName%22%3A%22Products%22%2C%22parentID%22%3A%22bcf3b56f-c5bf-43ef-a8a2-ef6201781763%22%2C%22slug%22%3A%22restaurants%2Frestaurant-products%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%224fbb022e-236b-4d4b-8ef6-1fd4012c7fbf%22%2C%22name%22%3A%22Other%22%2C%22originalName%22%3A%22Other%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22other%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22legal%22%7D%2C%7B%22ID%22%3A%2250f3f3b2-13a9-482d-ae78-89b6103c8258%22%2C%22name%22%3A%22Legal%22%2C%22originalName%22%3A%22Legal%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22legal%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%225886ffbc-9f7b-484f-81b4-8c49346b617d%22%2C%22name%22%3A%22Ride%22%2C%22originalName%22%3A%22Ride%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22ride%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%2258bb85a4-c72e-4d3b-b790-ba903459fafd%22%2C%22name%22%3A%22Driver%20products%22%2C%22originalName%22%3A%22Driver%20products%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22earn%2Fdrive%2Fdriver-products%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%2259730c33-9b1f-4817-b4c8-5fb163406814%22%2C%22name%22%3A%22Health%22%2C%22originalName%22%3A%22Health%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22health%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%225c871e2b-5633-4f43-8b49-6d0e656194f4%22%2C%22name%22%3A%22Drive%22%2C%22originalName%22%3A%22Drive%22%2C%22parentID%22%3A%22c00c8ce4-0527-4ca6-967c-d5ef749c233c%22%2C%22slug%22%3A%22earn%2Fdrive%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%225dcdf19d-ca0d-42f6-9dd3-066c25204da5%22%2C%22name%22%3A%22Promotions%22%2C%22originalName%22%3A%22Promotions%22%2C%22parentID%22%3A%22e9800f78-4271-4039-8364-861068326379%22%2C%22slug%22%3A%22eat%2Feats-promotions%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%225e7870f7-bb1f-413f-9e18-9e4d60208e6c%22%2C%22name%22%3A%22Promotions%22%2C%22originalName%22%3A%22Promotions%22%2C%22parentID%22%3A%22bcf3b56f-c5bf-43ef-a8a2-ef6201781763%22%2C%22slug%22%3A%22restaurants%2Frestaurant-promotions%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%225e7bc43a-eb95-4fc3-8866-13acceeaa672%22%2C%22name%22%3A%22Higher%20Education%22%2C%22originalName%22%3A%22Higher%20Education%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22higher-education%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%226389de43-1070-42e8-8ed3-ba6347d05e7e%22%2C%22name%22%3A%22Business%22%2C%22originalName%22%3A%22Business%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22business%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%2266286a61-7940-4022-aa92-54f42932d23c%22%2C%22name%22%3A%22Mobility%20and%20Delivery%22%2C%22originalName%22%3A%22Mobility%20and%20Delivery%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22mobility-and-delivery%22%2C%22tags%22%3A%5B%22line-of-business%22%5D%2C%22theNamespace%22%3A%22legal%22%7D%2C%7B%22ID%22%3A%226743e1ec-a06d-4e97-b397-f86804579d0b%22%2C%22name%22%3A%22Sustainability%22%2C%22originalName%22%3A%22Sustainability%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22sustainability%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22newsroom%22%7D%2C%7B%22ID%22%3A%226998ac48-7e00-44c3-a533-1534ee2fa18f%22%2C%22name%22%3A%22Uber%20Eats%22%2C%22originalName%22%3A%22Uber%20Eats%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22uber-eats%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22newsroom%22%7D%2C%7B%22ID%22%3A%226a5698e0-8c94-44e8-ad64-1921f79dab64%22%2C%22name%22%3A%22Uber%20Eats%20-%20Cornershop%22%2C%22originalName%22%3A%22Uber%20Eats%20-%20Cornershop%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22uber-eats---cornershop%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22legal%22%7D%2C%7B%22ID%22%3A%226db631cc-42c8-49ae-a355-3a25b9d4d199%22%2C%22name%22%3A%22Stories%22%2C%22originalName%22%3A%22Stories%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22merchants%2Fmerchant-products%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%226f000f09-cced-40af-86ac-dfd175609ac4%22%2C%22name%22%3A%22Company%20News%22%2C%22originalName%22%3A%22Company%20News%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22company-news%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22newsroom%22%7D%2C%7B%22ID%22%3A%22765c7383-a55f-4332-9210-20910040800f%22%2C%22name%22%3A%22Security%22%2C%22originalName%22%3A%22Security%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fsecurity%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%227bffa285-79dc-4cfb-b472-de76a293f057%22%2C%22name%22%3A%22Delivery%22%2C%22originalName%22%3A%22Delivery%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22delivery%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22legal%22%7D%2C%7B%22ID%22%3A%227c2f76f6-506e-49b9-a9c4-e98ec4ad58ab%22%2C%22name%22%3A%22Products%22%2C%22originalName%22%3A%22Products%22%2C%22parentID%22%3A%225886ffbc-9f7b-484f-81b4-8c49346b617d%22%2C%22slug%22%3A%22ride%2Fride-products%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%227ea1ae80-7b1f-4b99-a820-9fd2aaf03c9e%22%2C%22name%22%3A%22Ride%20and%20eat%22%2C%22originalName%22%3A%22Ride%20and%20eat%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22ride-and-eat%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22803de10c-77ca-4a77-9ad2-8dc5b4895b7b%22%2C%22name%22%3A%22Data%22%2C%22originalName%22%3A%22Data%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fdata%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22846fa62a-fde5-4c19-beea-988b2ca5f16b%22%2C%22name%22%3A%22Mobile%22%2C%22originalName%22%3A%22Mobile%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fmobile%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22875573f9-92c1-4e78-82f8-16871648f9d0%22%2C%22name%22%3A%22Promotions%22%2C%22originalName%22%3A%22Promotions%22%2C%22parentID%22%3A%225886ffbc-9f7b-484f-81b4-8c49346b617d%22%2C%22slug%22%3A%22ride%2Fride-promotions%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%2288966076-3de3-4ecf-bb0d-52f020775f43%22%2C%22name%22%3A%22Driver%20promotions%22%2C%22originalName%22%3A%22Driver%20promotions%22%2C%22parentID%22%3A%22c00c8ce4-0527-4ca6-967c-d5ef749c233c%22%2C%22slug%22%3A%22earn%2Fdrive%2Fdriver-promotions%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%228bd3777a-3adf-4dc0-bfe2-b70d14b42ba5%22%2C%22name%22%3A%22Delivery%20promotions%22%2C%22originalName%22%3A%22Delivery%20promotions%22%2C%22parentID%22%3A%22a30aaf8f-6ef3-4c80-b489-b41ecdef084a%22%2C%22slug%22%3A%22deliver-promotions%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%229b144ceb-d11e-49d4-a3e4-7e372fdcd419%22%2C%22name%22%3A%22Rides%22%2C%22originalName%22%3A%22Rides%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22rides%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22newsroom%22%7D%2C%7B%22ID%22%3A%22a30aaf8f-6ef3-4c80-b489-b41ecdef084a%22%2C%22name%22%3A%22Deliver%22%2C%22originalName%22%3A%22Deliver%22%2C%22parentID%22%3A%222504ce39-9c11-475c-8ad7-8104b65406ef%22%2C%22slug%22%3A%22courier%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22a4a084ff-0268-46a6-8b5f-15a64dfce9b3%22%2C%22name%22%3A%22Uber%20for%20Business%22%2C%22originalName%22%3A%22Uber%20for%20Business%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22uber-for-business%22%2C%22tags%22%3A%5B%22line-of-business%22%5D%2C%22theNamespace%22%3A%22legal%22%7D%2C%7B%22ID%22%3A%22a4dc5873-0cb8-43bb-9fd8-60b7223d55eb%22%2C%22name%22%3A%22Drivers%20and%20Couriers%22%2C%22originalName%22%3A%22Drivers%20and%20Couriers%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22drivers-and-couriers%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22newsroom%22%7D%2C%7B%22ID%22%3A%22a9e2d382-795d-4cb8-a830-24ffaf81a335%22%2C%22name%22%3A%22Community%20support%22%2C%22originalName%22%3A%22Community%20support%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22community-support%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22ad5e5704-b615-463d-b0ee-9bbed7374385%22%2C%22name%22%3A%22Mobility%22%2C%22originalName%22%3A%22Mobility%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22mobility%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22legal%22%7D%2C%7B%22ID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22name%22%3A%22Engineering%22%2C%22originalName%22%3A%22Engineering%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22engineering%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22af2eff0d-cf81-462f-a53f-1347f5e1769a%22%2C%22name%22%3A%22Safety%22%2C%22originalName%22%3A%22Safety%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22safety%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22newsroom%22%7D%2C%7B%22ID%22%3A%22b191be18-dbd4-4bbe-a1bf-99d613f7d272%22%2C%22name%22%3A%22Promotions%22%2C%22originalName%22%3A%22Promotions%22%2C%22parentID%22%3A%22c00c8ce4-0527-4ca6-967c-d5ef749c233c%22%2C%22slug%22%3A%22merchants%2Fmerchant-promotions%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22b374768e-489f-42d5-913d-269fbb44a44b%22%2C%22name%22%3A%22Backend%22%2C%22originalName%22%3A%22Backend%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fbackend%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22b4a35e46-acd0-4a59-a55d-adaf0b367d2a%22%2C%22name%22%3A%22Culture%22%2C%22originalName%22%3A%22Culture%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fculture%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22bcf3b56f-c5bf-43ef-a8a2-ef6201781763%22%2C%22name%22%3A%22Restaurants%22%2C%22originalName%22%3A%22Restaurants%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22restaurants%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22c00c8ce4-0527-4ca6-967c-d5ef749c233c%22%2C%22name%22%3A%22Merchants%22%2C%22originalName%22%3A%22Merchants%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22merchants%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22cb24cf79-c6bc-4654-b8cd-8df80a9a573a%22%2C%22name%22%3A%22Stories%22%2C%22originalName%22%3A%22Stories%22%2C%22parentID%22%3A%225886ffbc-9f7b-484f-81b4-8c49346b617d%22%2C%22slug%22%3A%22ride%2Fride-stories%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22cbe0f585-26bd-4ae8-a47a-c5f3b3c2628d%22%2C%22name%22%3A%22Terms%22%2C%22originalName%22%3A%22Terms%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22terms%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22legal%22%7D%2C%7B%22ID%22%3A%22d292598b-288a-4104-bdb3-887acea2e1cc%22%2C%22name%22%3A%22AI%20%2F%20ML%22%2C%22originalName%22%3A%22AI%20%2F%20ML%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fuber-ai%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22d380a997-7426-40bd-aa26-79784bc274a3%22%2C%22name%22%3A%22Stories%22%2C%22originalName%22%3A%22Stories%22%2C%22parentID%22%3A%22bcf3b56f-c5bf-43ef-a8a2-ef6201781763%22%2C%22slug%22%3A%22restaurants%2Frestaurant-stories%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22d665e277-3ad0-4748-954b-264ec45af21a%22%2C%22name%22%3A%22Grocery%20and%20Retail%22%2C%22originalName%22%3A%22Grocery%20and%20Retail%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22grocery-and-retail%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22newsroom%22%7D%2C%7B%22ID%22%3A%22e0c27623-6408-448d-8607-64bfa5a17063%22%2C%22name%22%3A%22Drive%20feedback%22%2C%22originalName%22%3A%22Drive%20feedback%22%2C%22parentID%22%3A%225c871e2b-5633-4f43-8b49-6d0e656194f4%22%2C%22slug%22%3A%22earn%2Fdrive%2Fdriver-feedback%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22e15086b4-8088-4d8b-b1d5-5050257f6e46%22%2C%22name%22%3A%22Products%22%2C%22originalName%22%3A%22Products%22%2C%22parentID%22%3A%22e9800f78-4271-4039-8364-861068326379%22%2C%22slug%22%3A%22eat%2Feats-products%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22e1c5e0c6-5ca8-44d6-b287-05387a5b755f%22%2C%22name%22%3A%22Uber%20for%20Business%22%2C%22originalName%22%3A%22Uber%20for%20Business%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22uber-for-business%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22newsroom%22%7D%2C%7B%22ID%22%3A%22e20e24a6-20e5-4a41-8995-4ec2ddd40e0d%22%2C%22name%22%3A%22Health%22%2C%22originalName%22%3A%22Health%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22health%22%2C%22tags%22%3A%5B%22line-of-business%22%5D%2C%22theNamespace%22%3A%22legal%22%7D%2C%7B%22ID%22%3A%22e425f80b-a21a-4925-9865-a936a09c1d54%22%2C%22name%22%3A%22Updates%22%2C%22originalName%22%3A%22Updates%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22updates%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22e8bd0dca-9a72-46d5-9509-c3ba4d2d54b4%22%2C%22name%22%3A%22Policies%20and%20Guidelines%22%2C%22originalName%22%3A%22Policies%20and%20Guidelines%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22policies-and-guidelines%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22legal%22%7D%2C%7B%22ID%22%3A%22e9800f78-4271-4039-8364-861068326379%22%2C%22name%22%3A%22Eat%22%2C%22originalName%22%3A%22Eat%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22eat%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22ebdd52e3-6ba8-4fd2-b7c2-666149b2b787%22%2C%22name%22%3A%22Advertising%22%2C%22originalName%22%3A%22Advertising%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22advertising%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22newsroom%22%7D%2C%7B%22ID%22%3A%22ef2d4bc1-0302-475e-836c-f927b2faeedd%22%2C%22name%22%3A%22Products%22%2C%22originalName%22%3A%22Products%22%2C%22parentID%22%3A%22c00c8ce4-0527-4ca6-967c-d5ef749c233c%22%2C%22slug%22%3A%22merchants%2Fmerchant-products%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22f3415ea7-492d-4825-bc27-2ce7c110607d%22%2C%22name%22%3A%22Advertising%22%2C%22originalName%22%3A%22Advertising%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22advertising%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22fa28ad00-e80a-4935-b518-2681e54a0986%22%2C%22name%22%3A%22Delivery%20products%22%2C%22originalName%22%3A%22Delivery%20products%22%2C%22parentID%22%3A%22a30aaf8f-6ef3-4c80-b489-b41ecdef084a%22%2C%22slug%22%3A%22deliver-products%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22fcbeef20-f044-4b60-b8b4-4d2ffc92354d%22%2C%22name%22%3A%22Aarhus%22%2C%22originalName%22%3A%22Aarhus%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Faarhus%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%5D%7D%7D
</script>
<script type="application/json" id="__LOCAL_REDUX_STATE_NewsroomArticleAuthor_Store_%2Fus%2Fen%2Fblog%2Ffrom-static-rate-limiting-to-intelligent-load-management%2F__">
%7B%22articleAuthors%22%3A%7B%22authors%22%3A%5B%7B%22bio%22%3A%22Dhyanam%20Vaidya%20is%20a%20Software%20Engineer%20on%20Uber%E2%80%99s%20Storage%20Platform%20team.%20He%E2%80%99s%20contributed%20to%20the%20design%20and%20implementation%20of%20many%20Docstore%20features.%20His%20work%20focuses%20on%20improving%20the%20reliability%2C%20resilience%2C%20and%20operational%20efficiency%20of%20Uber%E2%80%99s%20distributed%20databases%20at%20scale.%22%2C%22id%22%3A%22f7a737e3-1f43-4a32-b291-1a5e76d4d7a8%22%2C%22image%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F124c7199-2df7-571b-8b19-6f28ef6b202a.png%22%2C%22name%22%3A%22Dhyanam%20Vaidya%22%7D%2C%7B%22bio%22%3A%22Prathamesh%20Deshpande%20is%20a%20Staff%20Engineer%20on%20Uber%E2%80%99s%20Storage%20Platform%20team%2C%20building%20database%20features%20and%20distributed%20storage%20systems%20that%20meet%20Uber%E2%80%99s%20global%20reliability%20and%20performance%20requirements.%20His%20work%20focuses%20on%20large-scale%20data%20management%2C%20distributed%20database%20storage%20systems%2C%20and%20platform%20reliability.%22%2C%22id%22%3A%2286259135-a80c-481a-a5fe-fcceda8675f6%22%2C%22image%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F6c27e43b-3bd7-5845-b362-fc936bb24611.png%22%2C%22name%22%3A%22Prathamesh%20Deshpande%22%7D%2C%7B%22bio%22%3A%22Mike%20Ma%20is%20a%20Staff%20Software%20Engineer%20on%20Uber%E2%80%99s%20Storage%20Platform%20team%2C%20where%20he%20has%20contributed%20to%20multiple%20core%20components%20of%20both%20Schemaless%20and%20Docstore.%20His%20work%20focuses%20on%20scalability%2C%20reliability%2C%20performance%2C%20and%20operational%20excellence%20across%20Uber%E2%80%99s%20large%20scale%20distributed%20databases.%22%2C%22id%22%3A%22ea8460c7-3c20-4c16-b520-6a256a231461%22%2C%22image%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F871dc4d1-789b-57a9-8ead-42b54c966c01.png%22%2C%22name%22%3A%22Mike%20Ma%22%7D%2C%7B%22bio%22%3A%22Chaitanya%20Yalamanchili%20is%20a%20Sr.%20Manager%20and%20technical%20lead%20on%20Uber%E2%80%99s%20%20Storage%20Platform%20team.%20He%20leads%20the%20development%20of%20online%20distributed%20storage%20systems%20with%20a%20focus%20on%20providing%20a%20world-class%20platform%20that%20powers%20all%20the%20critical%20business%20functions%20and%20lines%20of%20business%20at%20Uber.%20The%20platform%20serves%20tens%20of%20millions%20of%20QPS%20and%20stores%20tens%20of%20Petabytes%20of%20operational%20data.%22%2C%22id%22%3A%227d1df95a-3397-4b6c-93c7-ed79d6748398%22%2C%22image%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F019be9ad-8647-55c0-994d-d316ce1138e7.png%22%2C%22name%22%3A%22Chaitanya%20Yalamanchili%22%7D%5D%2C%22error%22%3Afalse%2C%22hasClientLoaded%22%3Afalse%2C%22hasServerLoaded%22%3Atrue%2C%22isLoading%22%3Afalse%7D%7D
</script>
<script type="application/json" id="__LOCAL_REDUX_STATE_Newsroom_Article Feed Store_%2Fus%2Fen%2Fblog%2Ffrom-static-rate-limiting-to-intelligent-load-management%2F__">
%7B%22fallbackRelatedPages%22%3A%7B%22relatedPages%22%3A%5B%7B%22categoryIDs%22%3A%5B%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22b374768e-489f-42d5-913d-269fbb44a44b%22%5D%2C%22fullURL%22%3A%22www.uber.com%2Fus%2Fen%2Fblog%2Fevolving-ubers-compute-platform%2F%22%2C%22ogImageURL%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2Ff6dc9d95-2918-4261-b5e3-e7553e7dcfe1.jpeg%22%2C%22ogTitle%22%3A%22From%20One%20Horizontal%20Scaling%20Controller%20to%20Many%3A%20Evolving%20Uber's%20Compute%20Platform%22%2C%22publishedAt%22%3A%222026-09-09T19%3A30%3A00Z%22%2C%22title%22%3A%22From%20One%20Horizontal%20Scaling%20Controller%20to%20Many%3A%20Evolving%20Uber's%20Compute%20Platform%22%2C%22updatedAt%22%3A%222026-09-09T19%3A30%3A22.195164Z%22%7D%2C%7B%22categoryIDs%22%3A%5B%222504ce39-9c11-475c-8ad7-8104b65406ef%22%2C%2258bb85a4-c72e-4d3b-b790-ba903459fafd%22%5D%2C%22fullURL%22%3A%22www.uber.com%2Fus%2Fen%2Fblog%2Fearnings-basics%2F%22%2C%22ogImageURL%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F0031accf-3430-415f-bca1-a0bf3625ed98.png%22%2C%22ogTitle%22%3A%22Your%20guide%20to%20earning%20on%20Uber%22%2C%22publishedAt%22%3A%222026-09-04T21%3A23%3A47.059Z%22%2C%22title%22%3A%22Your%20guide%20to%20earning%20on%20Uber%22%2C%22updatedAt%22%3A%222026-09-04T21%3A43%3A17.80651Z%22%7D%2C%7B%22categoryIDs%22%3A%5B%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22b374768e-489f-42d5-913d-269fbb44a44b%22%5D%2C%22fullURL%22%3A%22www.uber.com%2Fus%2Fen%2Fblog%2Ffrom-chaos-to-control%2F%22%2C%22ogImageURL%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F59e0ca04-7412-4293-9c36-2f36e053d9fa.png%22%2C%22ogTitle%22%3A%22From%20Chaos%20to%20Control%3A%20Addressing%20Shard%20Distribution%20Challenges%20in%20M3DB%20with%20Subclusters%22%2C%22publishedAt%22%3A%222026-09-01T13%3A15%3A00Z%22%2C%22title%22%3A%22From%20Chaos%20to%20Control%3A%20Addressing%20Shard%20Distribution%20Challenges%20in%20M3DB%20with%20Subclusters%22%2C%22updatedAt%22%3A%222026-09-01T13%3A15%3A21.542125Z%22%7D%2C%7B%22categoryIDs%22%3A%5B%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22d292598b-288a-4104-bdb3-887acea2e1cc%22%5D%2C%22fullURL%22%3A%22www.uber.com%2Fus%2Fen%2Fblog%2Fefficient-software-factory%2F%22%2C%22ogImageURL%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F08fda4fe-4704-44ec-9cc6-963c4f9acfc3.png%22%2C%22ogTitle%22%3A%22Running%20a%20Software%20Factory%20Efficiently%20at%20Uber%20Scale%22%2C%22publishedAt%22%3A%222026-08-27T12%3A30%3A00Z%22%2C%22title%22%3A%22Running%20a%20Software%20Factory%20Efficiently%20at%20Uber%20Scale%22%2C%22updatedAt%22%3A%222026-08-31T22%3A13%3A32.557182Z%22%7D%2C%7B%22categoryIDs%22%3A%5B%222504ce39-9c11-475c-8ad7-8104b65406ef%22%2C%2258bb85a4-c72e-4d3b-b790-ba903459fafd%22%5D%2C%22fullURL%22%3A%22www.uber.com%2Fus%2Fen%2Fblog%2Fairports-pickup-code%2F%22%2C%22ogImageURL%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F4dfa6c13-c3ac-4245-b0d0-0a222833fc7d.jpeg%22%2C%22ogTitle%22%3A%22Get%20in%20and%20out%20of%20the%20airport%20faster%E2%80%94and%20back%20to%20earning%E2%80%94with%20pickup%20codes%22%2C%22publishedAt%22%3A%222026-08-25T20%3A08%3A45.787Z%22%2C%22title%22%3A%22Get%20in%20and%20out%20of%20the%20airport%20faster%E2%80%94and%20back%20to%20earning%E2%80%94with%20pickup%20codes%22%2C%22updatedAt%22%3A%222026-08-25T20%3A08%3A47.070556Z%22%7D%2C%7B%22categoryIDs%22%3A%5B%225e7bc43a-eb95-4fc3-8866-13acceeaa672%22%5D%2C%22fullURL%22%3A%22www.uber.com%2Fus%2Fen%2Fblog%2Fintroducing-husker-share%2F%22%2C%22ogImageURL%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F71a0512b-ea4c-4b65-a7d8-39c71e709bf0.png%22%2C%22ogTitle%22%3A%22Introducing%20Husker%20Share%2C%20the%20University%20of%20Nebraska-Lincoln%E2%80%99s%20latest%20program%20with%20Uber%22%2C%22publishedAt%22%3A%222026-08-14T21%3A35%3A11.455Z%22%2C%22title%22%3A%22Introducing%20Husker%20Share%2C%20the%20University%20of%20Nebraska-Lincoln%E2%80%99s%20latest%20program%20with%20Uber%22%2C%22updatedAt%22%3A%222026-08-14T21%3A35%3A11.550271Z%22%7D%5D%2C%22error%22%3Afalse%2C%22hasClientLoaded%22%3Afalse%2C%22hasServerLoaded%22%3Atrue%2C%22isLoading%22%3Afalse%2C%22hasMore%22%3Afalse%2C%22totalCount%22%3A3259%7D%2C%22listCategories%22%3A%7B%22error%22%3Afalse%2C%22hasClientLoaded%22%3Afalse%2C%22hasServerLoaded%22%3Atrue%2C%22isLoading%22%3Afalse%2C%22newsroomCategories%22%3A%5B%7B%22ID%22%3A%220bf657bb-dd5b-4659-b33b-e55cb88324b6%22%2C%22name%22%3A%22Publications%22%2C%22originalName%22%3A%22Publications%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fpubs%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%2216c6ef99-f647-4fb4-85c7-640bd66dee23%22%2C%22name%22%3A%22Web%22%2C%22originalName%22%3A%22Web%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fweb%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%221ab4177f-7935-4118-9ff9-fe7f8f23b178%22%2C%22name%22%3A%22Stories%22%2C%22originalName%22%3A%22Stories%22%2C%22parentID%22%3A%22e9800f78-4271-4039-8364-861068326379%22%2C%22slug%22%3A%22eat%2Feats-stories%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%222504ce39-9c11-475c-8ad7-8104b65406ef%22%2C%22name%22%3A%22Earn%22%2C%22originalName%22%3A%22Earn%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22earn%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22346c8756-3e2b-4d8b-a9a0-6d6615c20448%22%2C%22name%22%3A%22Transit%22%2C%22originalName%22%3A%22Transit%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22transit%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%2241468f00-57d4-4c3d-915d-ed98a8990baa%22%2C%22name%22%3A%22Products%22%2C%22originalName%22%3A%22Products%22%2C%22parentID%22%3A%22bcf3b56f-c5bf-43ef-a8a2-ef6201781763%22%2C%22slug%22%3A%22restaurants%2Frestaurant-products%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%2250f3f3b2-13a9-482d-ae78-89b6103c8258%22%2C%22name%22%3A%22Legal%22%2C%22originalName%22%3A%22Legal%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22legal%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%225886ffbc-9f7b-484f-81b4-8c49346b617d%22%2C%22name%22%3A%22Ride%22%2C%22originalName%22%3A%22Ride%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22ride%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%2258bb85a4-c72e-4d3b-b790-ba903459fafd%22%2C%22name%22%3A%22Driver%20products%22%2C%22originalName%22%3A%22Driver%20products%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22earn%2Fdrive%2Fdriver-products%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%2259730c33-9b1f-4817-b4c8-5fb163406814%22%2C%22name%22%3A%22Health%22%2C%22originalName%22%3A%22Health%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22health%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%225c871e2b-5633-4f43-8b49-6d0e656194f4%22%2C%22name%22%3A%22Drive%22%2C%22originalName%22%3A%22Drive%22%2C%22parentID%22%3A%22c00c8ce4-0527-4ca6-967c-d5ef749c233c%22%2C%22slug%22%3A%22earn%2Fdrive%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%225dcdf19d-ca0d-42f6-9dd3-066c25204da5%22%2C%22name%22%3A%22Promotions%22%2C%22originalName%22%3A%22Promotions%22%2C%22parentID%22%3A%22e9800f78-4271-4039-8364-861068326379%22%2C%22slug%22%3A%22eat%2Feats-promotions%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%225e7870f7-bb1f-413f-9e18-9e4d60208e6c%22%2C%22name%22%3A%22Promotions%22%2C%22originalName%22%3A%22Promotions%22%2C%22parentID%22%3A%22bcf3b56f-c5bf-43ef-a8a2-ef6201781763%22%2C%22slug%22%3A%22restaurants%2Frestaurant-promotions%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%225e7bc43a-eb95-4fc3-8866-13acceeaa672%22%2C%22name%22%3A%22Higher%20Education%22%2C%22originalName%22%3A%22Higher%20Education%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22higher-education%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%226389de43-1070-42e8-8ed3-ba6347d05e7e%22%2C%22name%22%3A%22Business%22%2C%22originalName%22%3A%22Business%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22business%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%226db631cc-42c8-49ae-a355-3a25b9d4d199%22%2C%22name%22%3A%22Stories%22%2C%22originalName%22%3A%22Stories%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22merchants%2Fmerchant-products%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22765c7383-a55f-4332-9210-20910040800f%22%2C%22name%22%3A%22Security%22%2C%22originalName%22%3A%22Security%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fsecurity%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%227c2f76f6-506e-49b9-a9c4-e98ec4ad58ab%22%2C%22name%22%3A%22Products%22%2C%22originalName%22%3A%22Products%22%2C%22parentID%22%3A%225886ffbc-9f7b-484f-81b4-8c49346b617d%22%2C%22slug%22%3A%22ride%2Fride-products%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%227ea1ae80-7b1f-4b99-a820-9fd2aaf03c9e%22%2C%22name%22%3A%22Ride%20and%20eat%22%2C%22originalName%22%3A%22Ride%20and%20eat%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22ride-and-eat%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22803de10c-77ca-4a77-9ad2-8dc5b4895b7b%22%2C%22name%22%3A%22Data%22%2C%22originalName%22%3A%22Data%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fdata%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22846fa62a-fde5-4c19-beea-988b2ca5f16b%22%2C%22name%22%3A%22Mobile%22%2C%22originalName%22%3A%22Mobile%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fmobile%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22875573f9-92c1-4e78-82f8-16871648f9d0%22%2C%22name%22%3A%22Promotions%22%2C%22originalName%22%3A%22Promotions%22%2C%22parentID%22%3A%225886ffbc-9f7b-484f-81b4-8c49346b617d%22%2C%22slug%22%3A%22ride%2Fride-promotions%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%2288966076-3de3-4ecf-bb0d-52f020775f43%22%2C%22name%22%3A%22Driver%20promotions%22%2C%22originalName%22%3A%22Driver%20promotions%22%2C%22parentID%22%3A%22c00c8ce4-0527-4ca6-967c-d5ef749c233c%22%2C%22slug%22%3A%22earn%2Fdrive%2Fdriver-promotions%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%228bd3777a-3adf-4dc0-bfe2-b70d14b42ba5%22%2C%22name%22%3A%22Delivery%20promotions%22%2C%22originalName%22%3A%22Delivery%20promotions%22%2C%22parentID%22%3A%22a30aaf8f-6ef3-4c80-b489-b41ecdef084a%22%2C%22slug%22%3A%22deliver-promotions%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22a30aaf8f-6ef3-4c80-b489-b41ecdef084a%22%2C%22name%22%3A%22Deliver%22%2C%22originalName%22%3A%22Deliver%22%2C%22parentID%22%3A%222504ce39-9c11-475c-8ad7-8104b65406ef%22%2C%22slug%22%3A%22courier%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22a9e2d382-795d-4cb8-a830-24ffaf81a335%22%2C%22name%22%3A%22Community%20support%22%2C%22originalName%22%3A%22Community%20support%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22community-support%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22name%22%3A%22Engineering%22%2C%22originalName%22%3A%22Engineering%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22engineering%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22b191be18-dbd4-4bbe-a1bf-99d613f7d272%22%2C%22name%22%3A%22Promotions%22%2C%22originalName%22%3A%22Promotions%22%2C%22parentID%22%3A%22c00c8ce4-0527-4ca6-967c-d5ef749c233c%22%2C%22slug%22%3A%22merchants%2Fmerchant-promotions%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22b374768e-489f-42d5-913d-269fbb44a44b%22%2C%22name%22%3A%22Backend%22%2C%22originalName%22%3A%22Backend%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fbackend%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22b4a35e46-acd0-4a59-a55d-adaf0b367d2a%22%2C%22name%22%3A%22Culture%22%2C%22originalName%22%3A%22Culture%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fculture%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22bcf3b56f-c5bf-43ef-a8a2-ef6201781763%22%2C%22name%22%3A%22Restaurants%22%2C%22originalName%22%3A%22Restaurants%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22restaurants%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22c00c8ce4-0527-4ca6-967c-d5ef749c233c%22%2C%22name%22%3A%22Merchants%22%2C%22originalName%22%3A%22Merchants%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22merchants%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22cb24cf79-c6bc-4654-b8cd-8df80a9a573a%22%2C%22name%22%3A%22Stories%22%2C%22originalName%22%3A%22Stories%22%2C%22parentID%22%3A%225886ffbc-9f7b-484f-81b4-8c49346b617d%22%2C%22slug%22%3A%22ride%2Fride-stories%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22d292598b-288a-4104-bdb3-887acea2e1cc%22%2C%22name%22%3A%22AI%20%2F%20ML%22%2C%22originalName%22%3A%22AI%20%2F%20ML%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Fuber-ai%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22d380a997-7426-40bd-aa26-79784bc274a3%22%2C%22name%22%3A%22Stories%22%2C%22originalName%22%3A%22Stories%22%2C%22parentID%22%3A%22bcf3b56f-c5bf-43ef-a8a2-ef6201781763%22%2C%22slug%22%3A%22restaurants%2Frestaurant-stories%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22e0c27623-6408-448d-8607-64bfa5a17063%22%2C%22name%22%3A%22Drive%20feedback%22%2C%22originalName%22%3A%22Drive%20feedback%22%2C%22parentID%22%3A%225c871e2b-5633-4f43-8b49-6d0e656194f4%22%2C%22slug%22%3A%22earn%2Fdrive%2Fdriver-feedback%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22e15086b4-8088-4d8b-b1d5-5050257f6e46%22%2C%22name%22%3A%22Products%22%2C%22originalName%22%3A%22Products%22%2C%22parentID%22%3A%22e9800f78-4271-4039-8364-861068326379%22%2C%22slug%22%3A%22eat%2Feats-products%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22e425f80b-a21a-4925-9865-a936a09c1d54%22%2C%22name%22%3A%22Updates%22%2C%22originalName%22%3A%22Updates%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22updates%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22e9800f78-4271-4039-8364-861068326379%22%2C%22name%22%3A%22Eat%22%2C%22originalName%22%3A%22Eat%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22eat%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22ef2d4bc1-0302-475e-836c-f927b2faeedd%22%2C%22name%22%3A%22Products%22%2C%22originalName%22%3A%22Products%22%2C%22parentID%22%3A%22c00c8ce4-0527-4ca6-967c-d5ef749c233c%22%2C%22slug%22%3A%22merchants%2Fmerchant-products%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22f3415ea7-492d-4825-bc27-2ce7c110607d%22%2C%22name%22%3A%22Advertising%22%2C%22originalName%22%3A%22Advertising%22%2C%22parentID%22%3A%2200000000-0000-0000-0000-000000000000%22%2C%22slug%22%3A%22advertising%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22fa28ad00-e80a-4935-b518-2681e54a0986%22%2C%22name%22%3A%22Delivery%20products%22%2C%22originalName%22%3A%22Delivery%20products%22%2C%22parentID%22%3A%22a30aaf8f-6ef3-4c80-b489-b41ecdef084a%22%2C%22slug%22%3A%22deliver-products%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%2C%7B%22ID%22%3A%22fcbeef20-f044-4b60-b8b4-4d2ffc92354d%22%2C%22name%22%3A%22Aarhus%22%2C%22originalName%22%3A%22Aarhus%22%2C%22parentID%22%3A%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22slug%22%3A%22engineering%2Faarhus%22%2C%22tags%22%3A%5B%5D%2C%22theNamespace%22%3A%22blog%22%7D%5D%7D%2C%22relatedPages%22%3A%7B%22error%22%3Afalse%2C%22hasClientLoaded%22%3Afalse%2C%22hasMore%22%3Afalse%2C%22hasServerLoaded%22%3Atrue%2C%22isLoading%22%3Afalse%2C%22relatedPages%22%3A%5B%7B%22categoryIDs%22%3A%5B%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22b374768e-489f-42d5-913d-269fbb44a44b%22%5D%2C%22fullURL%22%3A%22www.uber.com%2Fus%2Fen%2Fblog%2Fevolving-ubers-compute-platform%2F%22%2C%22ogImageURL%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2Ff6dc9d95-2918-4261-b5e3-e7553e7dcfe1.jpeg%22%2C%22ogTitle%22%3A%22From%20One%20Horizontal%20Scaling%20Controller%20to%20Many%3A%20Evolving%20Uber's%20Compute%20Platform%22%2C%22publishedAt%22%3A%222026-09-09T19%3A30%3A00Z%22%2C%22title%22%3A%22From%20One%20Horizontal%20Scaling%20Controller%20to%20Many%3A%20Evolving%20Uber's%20Compute%20Platform%22%2C%22updatedAt%22%3A%222026-09-09T19%3A30%3A22.195164Z%22%7D%2C%7B%22categoryIDs%22%3A%5B%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22b374768e-489f-42d5-913d-269fbb44a44b%22%5D%2C%22fullURL%22%3A%22www.uber.com%2Fus%2Fen%2Fblog%2Ffrom-chaos-to-control%2F%22%2C%22ogImageURL%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F59e0ca04-7412-4293-9c36-2f36e053d9fa.png%22%2C%22ogTitle%22%3A%22From%20Chaos%20to%20Control%3A%20Addressing%20Shard%20Distribution%20Challenges%20in%20M3DB%20with%20Subclusters%22%2C%22publishedAt%22%3A%222026-09-01T13%3A15%3A00Z%22%2C%22title%22%3A%22From%20Chaos%20to%20Control%3A%20Addressing%20Shard%20Distribution%20Challenges%20in%20M3DB%20with%20Subclusters%22%2C%22updatedAt%22%3A%222026-09-01T13%3A15%3A21.542125Z%22%7D%2C%7B%22categoryIDs%22%3A%5B%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22d292598b-288a-4104-bdb3-887acea2e1cc%22%5D%2C%22fullURL%22%3A%22www.uber.com%2Fus%2Fen%2Fblog%2Fefficient-software-factory%2F%22%2C%22ogImageURL%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F08fda4fe-4704-44ec-9cc6-963c4f9acfc3.png%22%2C%22ogTitle%22%3A%22Running%20a%20Software%20Factory%20Efficiently%20at%20Uber%20Scale%22%2C%22publishedAt%22%3A%222026-08-27T12%3A30%3A00Z%22%2C%22title%22%3A%22Running%20a%20Software%20Factory%20Efficiently%20at%20Uber%20Scale%22%2C%22updatedAt%22%3A%222026-08-31T22%3A13%3A32.557182Z%22%7D%2C%7B%22categoryIDs%22%3A%5B%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22d292598b-288a-4104-bdb3-887acea2e1cc%22%2C%22803de10c-77ca-4a77-9ad2-8dc5b4895b7b%22%5D%2C%22fullURL%22%3A%22www.uber.com%2Fus%2Fen%2Fblog%2Frunning-cost-efficient-export%2F%22%2C%22ogImageURL%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F0bb7fb40-6a03-4872-a96a-fae249fa1a7f.png%22%2C%22ogTitle%22%3A%22Running%20Cost-Efficient%20Export%20Workloads%20at%20Uber%22%2C%22publishedAt%22%3A%222026-08-12T13%3A15%3A00Z%22%2C%22title%22%3A%22Running%20Cost-Efficient%20Export%20Workloads%20at%20Uber%22%2C%22updatedAt%22%3A%222026-08-12T13%3A15%3A13.157349Z%22%7D%2C%7B%22categoryIDs%22%3A%5B%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22b374768e-489f-42d5-913d-269fbb44a44b%22%5D%2C%22fullURL%22%3A%22www.uber.com%2Fus%2Fen%2Fblog%2Fubers-payments-platform%2F%22%2C%22ogImageURL%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2Fceab4d4d-db89-47db-ba46-9717856c82a3.png%22%2C%22ogTitle%22%3A%22Zero-Sum%20by%20Design%3A%2010%20Years%20of%20Uber%E2%80%99s%20Payments%20Platform%22%2C%22publishedAt%22%3A%222026-08-06T15%3A57%3A51.347Z%22%2C%22title%22%3A%22Zero-Sum%20by%20Design%3A%2010%20Years%20of%20Uber%E2%80%99s%20Payments%20Platform%22%2C%22updatedAt%22%3A%222026-08-10T18%3A13%3A39.540011Z%22%7D%2C%7B%22categoryIDs%22%3A%5B%22add2dbca-fda9-41d4-9a47-8ca0529aaa88%22%2C%22803de10c-77ca-4a77-9ad2-8dc5b4895b7b%22%2C%22d292598b-288a-4104-bdb3-887acea2e1cc%22%5D%2C%22fullURL%22%3A%22www.uber.com%2Fus%2Fen%2Fblog%2Fscaling-exact-count%2F%22%2C%22ogImageURL%22%3A%22https%3A%2F%2Ftb-static.uber.com%2Fprod%2Fudam-assets%2F8806f203-e74c-4a97-b72b-c825bb637d99.jpeg%22%2C%22ogTitle%22%3A%22Scaling%20Exact%20COUNT(DISTINCT)%20for%20High-Cardinality%20Non-Rollup%20Metrics%20in%20Distributed%20Data%20Pipelines%22%2C%22publishedAt%22%3A%222026-07-30T13%3A15%3A00Z%22%2C%22title%22%3A%22Scaling%20Exact%20COUNT(DISTINCT)%20for%20High-Cardinality%20Non-Rollup%20Metrics%20in%20Distributed%20Data%20Pipelines%22%2C%22updatedAt%22%3A%222026-07-30T15%3A21%3A58.55981Z%22%7D%5D%2C%22totalCount%22%3A763%7D%7D
</script>
<script type="application/json" id="__PLL__">
{\u0022uuid\u0022:\u002283f8cd5b-442c-40cb-abd9-43ac6abab393\u0022,\u0022meta\u0022:{\u0022trackingId\u0022:\u0022blog\u0022}}
</script>
<script type="application/json" id="__REDUX_STATE__">
{\u0022DGInfo\u0022:{\u0022error\u0022:false,\u0022hasLoaded\u0022:false,\u0022isLoading\u0022:false,\u0022localizedCityName\u0022:\u0022\u0022,\u0022localizedGuaranteedAmount\u0022:\u0022\u0022,\u0022marketingCode\u0022:\u0022\u0022,\u0022shouldHideDG\u0022:false,\u0022sipAvailable\u0022:false,\u0022subtitle\u0022:\u0022\u0022,\u0022termsLinkURL\u0022:\u0022\u0022,\u0022tripsGoalValue\u0022:0},\u0022PesData\u0022:{\u0022data\u0022:null,\u0022error\u0022:null,\u0022hasLoaded\u0022:false,\u0022isLoading\u0022:false,\u0022localeCode\u0022:null,\u0022status\u0022:null},\u0022RGInfo\u0022:{\u0022avatarURL\u0022:\u0022\u0022,\u0022campaignInfo\u0022:[],\u0022error\u0022:false,\u0022hasReferral\u0022:false,\u0022isLoading\u0022:true,\u0022legal\u0022:{\u0022htmlContent\u0022:\u0022\u0022},\u0022localizedAmount\u0022:\u0022\u0022,\u0022subtitle\u0022:\u0022\u0022,\u0022title\u0022:\u0022\u0022},\u0022allLivePagesJsonUrl\u0022:\u0022\u0022,\u0022bootstrap\u0022:{},\u0022breadcrumbsLPM\u0022:{\u0022error\u0022:false,\u0022results\u0022:[]},\u0022carRentalData\u0022:{\u0022locationError\u0022:null,\u0022locationStatus\u0022:\u0022PENDING\u0022,\u0022previewError\u0022:null,\u0022previewStatus\u0022:\u0022PENDING\u0022,\u0022v2Error\u0022:null,\u0022v2Status\u0022:\u0022PENDING\u0022},\u0022clientSideRender\u0022:{\u0022blocks\u0022:{}},\u0022cookieBanner\u0022:{\u0022bannerType\u0022:\u0022\u0022,\u0022raw\u0022:{\u0022US\u0022:\u0022CCPA\u0022,\u0022AT\u0022:\u0022GDPR\u0022,\u0022BE\u0022:\u0022GDPR\u0022,\u0022BG\u0022:\u0022GDPR\u0022,\u0022HR\u0022:\u0022GDPR\u0022,\u0022CY\u0022:\u0022GDPR\u0022,\u0022CZ\u0022:\u0022GDPR\u0022,\u0022DK\u0022:\u0022GDPR\u0022,\u0022EE\u0022:\u0022GDPR\u0022,\u0022FI\u0022:\u0022GDPR\u0022,\u0022FR\u0022:\u0022GDPR\u0022,\u0022DE\u0022:\u0022GDPR\u0022,\u0022GR\u0022:\u0022GDPR\u0022,\u0022HU\u0022:\u0022GDPR\u0022,\u0022IE\u0022:\u0022GDPR\u0022,\u0022IT\u0022:\u0022GDPR\u0022,\u0022LV\u0022:\u0022GDPR\u0022,\u0022LT\u0022:\u0022GDPR\u0022,\u0022LU\u0022:\u0022GDPR\u0022,\u0022MT\u0022:\u0022GDPR\u0022,\u0022NL\u0022:\u0022GDPR\u0022,\u0022AN\u0022:\u0022GDPR\u0022,\u0022PL\u0022:\u0022GDPR\u0022,\u0022PT\u0022:\u0022GDPR\u0022,\u0022RO\u0022:\u0022GDPR\u0022,\u0022SK\u0022:\u0022GDPR\u0022,\u0022SI\u0022:\u0022GDPR\u0022,\u0022ES\u0022:\u0022GDPR\u0022,\u0022SE\u0022:\u0022GDPR\u0022,\u0022GB\u0022:\u0022GDPR\u0022,\u0022IS\u0022:\u0022GDPR\u0022,\u0022LI\u0022:\u0022GDPR\u0022,\u0022NO\u0022:\u0022GDPR\u0022,\u0022CH\u0022:\u0022GDPR\u0022}},\u0022countryLegalLinks\u0022:{\u0022DE\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/de/de/legal/impressum-rides/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022Impressum Rides\u0022},{\u0022link\u0022:\u0022https://www.uber.com/de/de/legal/impressum-eats/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022Impressum Eats\u0022},{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022},{\u0022link\u0022:\u0022https://www.ubereats.com/uber-one?mod=terminateConfirmation\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022Terminate Uber One contract\u0022}],\u0022AT\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/at/de/legal/impressum-rides/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022Impressum\u0022},{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022GB\u0022:[{\u0022link\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/d53fc99a-a177-596f-b5fc-3144fbb07957.pdf\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022Download Uber Modern Slavery Act Transparency Statement\u0022},{\u0022link\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/552a0fcd-6fc3-52f0-945e-c39444b91814.pdf\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022Download Uber Eats Modern Slavery Act Transparency Statement\u0022}],\u0022BR\u0022:[{\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Uber Technologies Inc. | Uber do Brasil Tecnologia Ltda | Avenida Brigadeiro Faria Lima, n.º 949, Pinheiros, São Paulo/SP - CEP 05.426-200 | CNPJ: 17.895.646/0001-87\u0022}],\u0022EG\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/terms/careem-acquisition-egypt/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022Uber's Acquisition of Careem\u0022}],\u0022US\u0022:[{\u0022link\u0022:\u0022https://privacy.uber.com/privacy/us\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022Do not sell or share my personal information\u0022},{\u0022link\u0022:\u0022https://www.uber.com/google-disclosure/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022Google Data Policy\u0022}],\u0022BD\u0022:[{\u0022link\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/95590fec-bc64-52f1-ac06-113f95e5aa47.pdf\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022Bangladesh ridesharing related information\u0022}],\u0022BE\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022HR\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022CZ\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022EE\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022FI\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022GR\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022IT\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022IE\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022LT\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022MT\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022NL\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022PL\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022PT\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022},{\u0022link\u0022:\u0022https://www.livroreclamacoes.pt/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022Complaints Book\u0022}],\u0022RO\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022SK\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022ES\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022},{\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Contact number: +34 919 49 55 87\u0022}],\u0022SE\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022FR\u0022:[{\u0022link\u0022:\u0022https://www.uber.com/legal/how-the-uber-and-uber-eats-apps-and-websites-work/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022How the Uber and Uber Eats apps and websites work\u0022}],\u0022TW\u0022:[{\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Company's registered name - Uber Formosa Co. Ltd.%5CnTaxation registration number - 83118125\u0022}],\u0022KR\u0022:[{\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022UT LLC | Business registration number: 166-86-02049 | Contact Phone: 080-805-9622 | Email: support_kr@uber.com | Representative: Jinwoo Song | Registered Address (not a customer support location): 343, Samil-daero, Jung-gu, Seoul, Republic of Korea | Mail-Order-Sales Registration Number: 2021-서울중구-0976\u0022}]},\u0022countryLocationBannerEnabled\u0022:false,\u0022flipr\u0022:{},\u0022isPrivacyBannersConsentsServiceEnabled\u0022:false,\u0022isPrivacyBannersEnabled\u0022:true,\u0022isProduction\u0022:true,\u0022isSPARoutingEnabled\u0022:false,\u0022languages\u0022:{\u0022currentLanguage\u0022:\u0022en\u0022,\u0022supportedLanguages\u0022:{\u0022error\u0022:null,\u0022isLoading\u0022:false,\u0022supportedLanguages\u0022:{\u0022/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022:[{\u0022baseLanguage\u0022:\u0022en\u0022,\u0022languageCode\u0022:\u0022en\u0022,\u0022languageSlug\u0022:\u0022en\u0022,\u0022localLanguage\u0022:\u0022English\u0022,\u0022locale\u0022:\u0022en\u0022,\u0022pageLanguage\u0022:\u0022English, English\u0022}]}}},\u0022locationAutocomplete\u0022:{\u0022countryCode\u0022:\u0022US\u0022,\u0022results\u0022:[],\u0022selectedCity\u0022:{\u0022error\u0022:null,\u0022selectedCity\u0022:null}},\u0022pages\u0022:{\u0022contentsByPathname\u0022:{\u0022/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022:{\u0022blockContents\u0022:[{\u0022blockContentID\u0022:\u0022a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f\u0022,\u0022blockKey\u0022:\u0022s_n_page_9_b_4_b_a.46435f9ef8c646ddb7225d5a12f97103\u0022,\u0022content\u0022:{\u0022analyticsEvents\u0022:{},\u0022id\u0022:\u0022Navigation\u0022,\u0022props\u0022:{\u0022additionalCta\u0022:{\u0022childNodes\u0022:[],\u0022component\u0022:\u0022Link\u0022,\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://help.uber.com/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Help\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_additionalCta.link_cta1\u0022}},\u0022cta\u0022:{\u0022childNodes\u0022:[{\u0022icon\u0022:{\u0022format\u0022:\u0022svg\u0022,\u0022height\u0022:\u002224\u0022,\u0022label\u0022:\u0022route_filled\u0022,\u0022legacySrc\u0022:\u0022https://www.uber-assets.com/image/upload/v1655401019/assets/80/bb7bdd-6cf4-4053-94c5-2e4e53d9d5f6/original/route_filled.svg\u0022,\u0022photoId\u0022:\u00222e60f716b4ccf926172440114c0cdf25dc9dc5d557502baead6b31910d690e28\u0022,\u0022rtlMirror\u0022:false,\u0022src\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/80bb7bdd-6cf4-4053-94c5-2e4e53d9d5f6.svg\u0022,\u0022subType\u0022:\u0022CARD\u0022,\u0022title\u0022:\u0022route_filled\u0022,\u0022type\u0022:\u0022DYNAMIC_PHOTO\u0022,\u0022width\u0022:\u002224\u0022},\u0022link\u0022:{\u0022href\u0022:\u0022https://m.uber.com/looking/\u0022,\u0022text\u0022:\u0022Ride\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[0].link_cta2\u0022}},{\u0022icon\u0022:{\u0022format\u0022:\u0022svg\u0022,\u0022height\u0022:\u002224\u0022,\u0022label\u0022:\u0022Steering wheel (filled)\u0022,\u0022legacySrc\u0022:\u0022https://www.uber-assets.com/image/upload/v1542250915/assets/d4/ca3837-f9df-473b-9099-85505187cb2a/original/steering_wheel-filled.svg\u0022,\u0022photoId\u0022:\u00226f17582e289141efff525b02ab614fa612cf41d280bd6196fce12d05920fe388\u0022,\u0022rtlMirror\u0022:false,\u0022src\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/d4ca3837-f9df-473b-9099-85505187cb2a.svg\u0022,\u0022subType\u0022:\u0022CARD\u0022,\u0022title\u0022:\u0022Drive\u0022,\u0022type\u0022:\u0022DYNAMIC_PHOTO\u0022,\u0022width\u0022:\u002224\u0022},\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://drivers.uber.com/\u0022,\u0022text\u0022:\u0022Drive \u0026 deliver\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[1].link_cta3\u0022}},{\u0022icon\u0022:{\u0022format\u0022:\u0022svg\u0022,\u0022height\u0022:\u002224\u0022,\u0022label\u0022:\u0022Restaurant (filled)\u0022,\u0022legacySrc\u0022:\u0022https://www.uber-assets.com/image/upload/v1542250524/assets/83/9bd4f4-306c-4b1b-b0e8-ab9cc8fd65c7/original/restaurant-filled.svg\u0022,\u0022photoId\u0022:\u0022d44564102dd0d0be9073dc268d0e6e9e9a123454e89efe9c1b7277132c308d06\u0022,\u0022rtlMirror\u0022:false,\u0022src\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/839bd4f4-306c-4b1b-b0e8-ab9cc8fd65c7.svg\u0022,\u0022subType\u0022:\u0022CARD\u0022,\u0022title\u0022:\u0022Restaurant location\u0022,\u0022type\u0022:\u0022DYNAMIC_PHOTO\u0022,\u0022width\u0022:\u002224\u0022},\u0022link\u0022:{\u0022href\u0022:\u0022https://ubereats.com/login-redirect/\u0022,\u0022text\u0022:\u0022Uber Eats\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[2].link_cta4\u0022}},{\u0022icon\u0022:{\u0022format\u0022:\u0022svg\u0022,\u0022height\u0022:\u002224\u0022,\u0022label\u0022:\u0022Storefront (filled)\u0022,\u0022legacySrc\u0022:\u0022https://www.uber-assets.com/image/upload/v1542250986/assets/0d/73ead7-7739-4bb3-b79b-ded048dba1e1/original/storefront-filled.svg\u0022,\u0022photoId\u0022:\u0022a16521613e81666f112410e9c8f1abaa66c1c75c18d6009fa2d6f13c282b08e3\u0022,\u0022rtlMirror\u0022:false,\u0022src\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/0d73ead7-7739-4bb3-b79b-ded048dba1e1.svg\u0022,\u0022subType\u0022:\u0022CARD\u0022,\u0022title\u0022:\u0022Store location\u0022,\u0022type\u0022:\u0022DYNAMIC_PHOTO\u0022,\u0022width\u0022:\u002224\u0022},\u0022link\u0022:{\u0022href\u0022:\u0022https://business.uber.com/\u0022,\u0022text\u0022:\u0022Business\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_cta.childNodes[3].link_cta5\u0022}}],\u0022component\u0022:\u0022CTA_LAYOVER\u0022,\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022Sign up to ride, drive, and get delivery\u0022,\u0022href\u0022:\u0022\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Sign up\u0022}},\u0022displayOptions\u0022:{\u0022hideLoginIcon\u0022:true,\u0022showLoginTextOnAllSize\u0022:true},\u0022links\u0022:[{\u0022childNodes\u0022:[{\u0022childNodes\u0022:[{\u0022description\u0022:\u0022Learn more about advertising on Uber. Reach consumers as they go anywhere and get anything.\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/advertising/\u0022,\u0022text\u0022:\u0022Advertising\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[0].link_cta6\u0022}},{\u0022description\u0022:\u0022Resources for driving and delivering with Uber\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/earn/\u0022,\u0022text\u0022:\u0022Earn\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[1].link_cta7\u0022}},{\u0022description\u0022:\u0022Experiences and information for people on the move\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/ride/\u0022,\u0022text\u0022:\u0022Ride\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[2].link_cta8\u0022}},{\u0022description\u0022:\u0022Ordering meals for delivery is just the beginning with Uber Eats\u0022,\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/eat/\u0022,\u0022text\u0022:\u0022Eat\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[3].link_cta9\u0022}},{\u0022description\u0022:\u0022Putting stores within reach of a world of customers\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/merchants/\u0022,\u0022text\u0022:\u0022Merchants\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[4].link_cta10\u0022}},{\u0022description\u0022:\u0022Transforming the way companies move and feed their people\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/business/\u0022,\u0022text\u0022:\u0022Business\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[5].link_cta11\u0022}},{\u0022description\u0022:\u0022Taking shipping logistics in a new direction\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/freight/\u0022,\u0022text\u0022:\u0022Freight\u0022,\u0022hidden\u0022:true,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[6].link_cta12\u0022}},{\u0022description\u0022:\u0022Moving care forward together with medical providers\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/health/\u0022,\u0022text\u0022:\u0022Health\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[7].link_cta13\u0022}},{\u0022description\u0022:\u0022Enhancing campus transportation\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/higher-education/\u0022,\u0022text\u0022:\u0022Higher Education\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[8].link_cta14\u0022}},{\u0022description\u0022:\u0022Expanding the reach of public transportation\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/transit/\u0022,\u0022text\u0022:\u0022Transit\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[0].childNodes[9].link_cta15\u0022}}],\u0022icon\u0022:{\u0022format\u0022:\u0022svg\u0022,\u0022height\u0022:\u002224\u0022,\u0022label\u0022:\u0022Menu selector\u0022,\u0022legacySrc\u0022:\u0022https://www.uber-assets.com/image/upload/v1693943418/assets/b1/3c9264-0416-4e8f-bb02-737a108f36ae/original/dot_grid_outlined.svg\u0022,\u0022photoId\u0022:\u0022c3c04d7df6d3656a235d07d8e38867103703faca43a8a4a9ffac830e58e3247f\u0022,\u0022rtlMirror\u0022:false,\u0022src\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/b13c9264-0416-4e8f-bb02-737a108f36ae.svg\u0022,\u0022subType\u0022:\u0022CARD\u0022,\u0022title\u0022:\u0022Menu selector \u0022,\u0022type\u0022:\u0022DYNAMIC_PHOTO\u0022,\u0022width\u0022:\u002224\u0022},\u0022link\u0022:{\u0022text\u0022:\u0022Products\u0022}},{\u0022childNodes\u0022:[{\u0022description\u0022:\u0022The technology behind Uber Engineering\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/engineering/\u0022,\u0022text\u0022:\u0022Engineering\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[1].childNodes[0].link_cta16\u0022}},{\u0022description\u0022:\u0022Doing the right thing for cities and communities globally\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/community-support/\u0022,\u0022text\u0022:\u0022Community support\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[1].childNodes[1].link_cta17\u0022}},{\u0022description\u0022:\u0022Uber news and updates in your country\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uber.com/us/en/newsroom/\u0022,\u0022text\u0022:\u0022Newsroom\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[1].childNodes[2].link_cta18\u0022}},{\u0022description\u0022:\u0022Product, how-to, and policy content—and more\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uber.com/\u0022,\u0022text\u0022:\u0022Uber.com\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_links[0].childNodes[1].childNodes[3].link_cta19\u0022}}],\u0022icon\u0022:{\u0022format\u0022:\u0022png\u0022,\u0022height\u0022:\u002224\u0022,\u0022label\u0022:\u0022People Icon\u0022,\u0022photoId\u0022:\u0022b771e1f8f0ee8b551d59a25611d4d31f1fc2769c842d205c663df986bdc3b463\u0022,\u0022rtlMirror\u0022:false,\u0022src\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/27988348-0cbd-4c5c-be3a-f533f48d0047.png\u0022,\u0022subType\u0022:\u0022CARD\u0022,\u0022title\u0022:\u0022Two stylized square shapes and dots, resembling a pair of people.\u0022,\u0022type\u0022:\u0022DYNAMIC_PHOTO\u0022,\u0022width\u0022:\u002224\u0022},\u0022link\u0022:{\u0022text\u0022:\u0022Company\u0022}}],\u0022component\u0022:\u0022MegaMenu\u0022,\u0022link\u0022:{\u0022text\u0022:\u0022Explore\u0022},\u0022trimFlyoutMenu\u0022:false}],\u0022lob\u0022:{\u0022childNodes\u0022:[],\u0022component\u0022:\u0022LoBFlyoutMenu\u0022,\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022\u0022}},\u0022loggedInCta\u0022:{\u0022childNodes\u0022:[{\u0022icon\u0022:{\u0022format\u0022:\u0022svg\u0022,\u0022height\u0022:\u002224\u0022,\u0022label\u0022:\u0022Drive and Deliver\u0022,\u0022legacySrc\u0022:\u0022https://www.uber-assets.com/image/upload/v1721211384/assets/e3/f56da1-d0d0-4ddb-a97a-62451d4164ef/original/drive-deliver.svg\u0022,\u0022photoId\u0022:\u0022adfe305cbbb8a167d7270e4505766e1fa4a38dd2970bb9c29002b7395868121e\u0022,\u0022rtlMirror\u0022:false,\u0022src\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/e3f56da1-d0d0-4ddb-a97a-62451d4164ef.svg\u0022,\u0022subType\u0022:\u0022CARD\u0022,\u0022title\u0022:\u0022Drive and Deliver\u0022,\u0022type\u0022:\u0022DYNAMIC_PHOTO\u0022,\u0022width\u0022:\u002224\u0022},\u0022link\u0022:{\u0022href\u0022:\u0022https://drivers.uber.com/\u0022,\u0022text\u0022:\u0022Drive \u0026 deliver\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_loggedInCta.childNodes[0].link_cta20\u0022}},{\u0022icon\u0022:{\u0022format\u0022:\u0022svg\u0022,\u0022height\u0022:\u002228\u0022,\u0022label\u0022:\u0022Ride\u0022,\u0022legacySrc\u0022:\u0022https://www.uber-assets.com/image/upload/v1721211597/assets/cc/b36d13-2a48-47a7-a01a-2b5f78973293/original/ride.svg\u0022,\u0022photoId\u0022:\u0022cd1e693bb6bdf2df850a5a6671f75550c68bbafbae0a75ea3ad91ca3dfaba602\u0022,\u0022rtlMirror\u0022:false,\u0022src\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/ccb36d13-2a48-47a7-a01a-2b5f78973293.svg\u0022,\u0022subType\u0022:\u0022CARD\u0022,\u0022title\u0022:\u0022Ride with Uber\u0022,\u0022type\u0022:\u0022DYNAMIC_PHOTO\u0022,\u0022width\u0022:\u002228\u0022},\u0022link\u0022:{\u0022href\u0022:\u0022https://m.uber.com/login-redirect\u0022,\u0022text\u0022:\u0022Ride\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_loggedInCta.childNodes[1].link_cta21\u0022}},{\u0022icon\u0022:{\u0022format\u0022:\u0022svg\u0022,\u0022height\u0022:\u002224\u0022,\u0022label\u0022:\u0022Uber Eats\u0022,\u0022legacySrc\u0022:\u0022https://www.uber-assets.com/image/upload/v1721211613/assets/ae/aa8bd6-4051-4372-bcc5-a8631cfbbcaa/original/uber-eats.svg\u0022,\u0022photoId\u0022:\u00220e6371fc25f5e36e219c382498e911e393107a567ecad22196633fe67d8c9a92\u0022,\u0022rtlMirror\u0022:false,\u0022src\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/aeaa8bd6-4051-4372-bcc5-a8631cfbbcaa.svg\u0022,\u0022subType\u0022:\u0022CARD\u0022,\u0022title\u0022:\u0022Uber Eats\u0022,\u0022type\u0022:\u0022DYNAMIC_PHOTO\u0022,\u0022width\u0022:\u002224\u0022},\u0022link\u0022:{\u0022href\u0022:\u0022https://ubereats.com/login-redirect/\u0022,\u0022text\u0022:\u0022Uber Eats\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_loggedInCta.childNodes[2].link_cta22\u0022}},{\u0022icon\u0022:{\u0022format\u0022:\u0022svg\u0022,\u0022height\u0022:\u002224\u0022,\u0022label\u0022:\u0022Uber for Business\u0022,\u0022legacySrc\u0022:\u0022https://www.uber-assets.com/image/upload/v1721211438/assets/2a/2a1bb3-c25a-4b46-b64d-b8b1ec5e6969/original/uber-for-business.svg\u0022,\u0022photoId\u0022:\u0022b7a7b0ba89075c656067f9f27280d8a0dd5b0626777f2a9861d023884187e590\u0022,\u0022rtlMirror\u0022:false,\u0022src\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/2a2a1bb3-c25a-4b46-b64d-b8b1ec5e6969.svg\u0022,\u0022subType\u0022:\u0022CARD\u0022,\u0022title\u0022:\u0022Uber for Business\u0022,\u0022type\u0022:\u0022DYNAMIC_PHOTO\u0022,\u0022width\u0022:\u002224\u0022},\u0022link\u0022:{\u0022href\u0022:\u0022https://business.uber.com/\u0022,\u0022text\u0022:\u0022Uber for Business\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_loggedInCta.childNodes[3].link_cta23\u0022}},{\u0022icon\u0022:{\u0022format\u0022:\u0022svg\u0022,\u0022height\u0022:\u002224\u0022,\u0022label\u0022:\u0022Manage account\u0022,\u0022legacySrc\u0022:\u0022https://www.uber-assets.com/image/upload/v1721211457/assets/33/188c4f-3728-4287-9447-50da6f123c2f/original/manage-account.svg\u0022,\u0022photoId\u0022:\u0022c37a85934df174dd120edabaeb5b98730119b6cce2ffbb55e5089fe94bcd10bd\u0022,\u0022rtlMirror\u0022:false,\u0022src\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/33188c4f-3728-4287-9447-50da6f123c2f.svg\u0022,\u0022subType\u0022:\u0022CARD\u0022,\u0022title\u0022:\u0022Manage account\u0022,\u0022type\u0022:\u0022DYNAMIC_PHOTO\u0022,\u0022width\u0022:\u002224\u0022},\u0022link\u0022:{\u0022href\u0022:\u0022https://account.uber.com/\u0022,\u0022text\u0022:\u0022Manage account\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_loggedInCta.childNodes[4].link_cta24\u0022}},{\u0022link\u0022:{\u0022href\u0022:\u0022https://auth.uber.com/login/logout\u0022,\u0022text\u0022:\u0022Sign out\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_loggedInCta.childNodes[5].link_cta25\u0022}}],\u0022component\u0022:\u0022LOGGED_IN_LAYOVER\u0022,\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022Your account information\u0022,\u0022text\u0022:\u0022${firstName}\u0022}},\u0022login\u0022:{\u0022childNodes\u0022:[],\u0022component\u0022:\u0022LoginLink\u0022,\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022Log in to your Uber account\u0022,\u0022href\u0022:\u0022https://auth.uber.com/login-redirect?next_url=https://www.uber.com\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Log in\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_login.link_cta26\u0022}},\u0022logo\u0022:{\u0022icon\u0022:{\u0022rtlMirror\u0022:false,\u0022src\u0022:\u0022\u0022,\u0022subType\u0022:\u0022CARD\u0022,\u0022title\u0022:\u0022\u0022,\u0022type\u0022:\u0022DYNAMIC_PHOTO\u0022},\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022Go to Uber Blog\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Uber Blog\u0022,\u0022data-tracking-name\u0022:\u0022_a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f_logo.link_cta27\u0022}},\u0022subBlockRightCTA\u0022:{\u0022showSubBlockRightCTA\u0022:false,\u0022subBlockData\u0022:[]},\u0022theme\u0022:\u0022dark\u0022},\u0022blockContentID\u0022:\u0022a6e8fb67-1a64-43ec-bfe5-d6a9baffa05f\u0022}},{\u0022blockContentID\u0022:\u0022a8a3530c-f5b4-4380-9940-3e4c16efe002\u0022,\u0022blockKey\u0022:\u0022from-static-rate-limiting-to-intelligent-load-management.9f05dd8dacd34244833446471dc5e751\u0022,\u0022content\u0022:{\u0022analyticsEvents\u0022:{},\u0022id\u0022:\u0022ArticleHeader\u0022,\u0022props\u0022:{\u0022authorUUIDs\u0022:[\u0022f7a737e3-1f43-4a32-b291-1a5e76d4d7a8\u0022,\u002286259135-a80c-481a-a5fe-fcceda8675f6\u0022,\u0022ea8460c7-3c20-4c16-b520-6a256a231461\u0022,\u00227d1df95a-3397-4b6c-93c7-ed79d6748398\u0022],\u0022heroMedia\u0022:{\u0022imageSrc\u0022:{\u0022format\u0022:\u0022jpg\u0022,\u0022height\u0022:\u00224010\u0022,\u0022label\u0022:\u0022cover-photo-non-ai-17682774511395.jpg\u0022,\u0022photoId\u0022:\u00222ddaff4cf2a1dc94c82d43db07eba49b88cb235d08683a2b542ed92c38bea430\u0022,\u0022rtlMirror\u0022:false,\u0022src\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/94f73de9-13eb-58b9-a343-11e2ae1f0c94.jpg\u0022,\u0022subType\u0022:\u0022CARD\u0022,\u0022title\u0022:\u0022cover-photo-non-ai-17682774511395.jpg\u0022,\u0022type\u0022:\u0022DYNAMIC_PHOTO\u0022,\u0022width\u0022:\u00226016\u0022}},\u0022heroMediaType\u0022:\u0022image\u0022,\u0022title\u0022:\u0022How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management\u0022,\u0022breadcrumbData\u0022:{\u0022parentFullURL\u0022:\u0022\u0022,\u0022title\u0022:\u0022\u0022},\u0022categoryIds\u0022:[\u0022add2dbca-fda9-41d4-9a47-8ca0529aaa88\u0022,\u0022b374768e-489f-42d5-913d-269fbb44a44b\u0022],\u0022cityOverride\u0022:{},\u0022isCountryVariant\u0022:true,\u0022isDynamicTemplate\u0022:false,\u0022isLive\u0022:true,\u0022namespace\u0022:\u0022blog\u0022,\u0022pattern\u0022:\u0022/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022publishedAt\u0022:\u00222026-04-20T17:21:25.1Z\u0022,\u0022tags\u0022:{\u0022canonical\u0022:\u0022https://www.uber.com/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022description\u0022:\u0022🧠 Overload in stateful databases isn’t one-dimensional. See how we built an intelligent load manager that sheds smarter, adapts to diverse signals, and stays fair under pressure. Even better, this approach led to a ~70%25 reduction in P99 latency.\u0022,\u0022googlePlayAppID\u0022:\u0022com.ubercab\u0022,\u0022iPadAppID\u0022:\u0022368677368\u0022,\u0022iPhoneAppID\u0022:\u0022368677368\u0022,\u0022noIndex\u0022:false,\u0022ogDescription\u0022:\u0022🧠 Overload in stateful databases isn’t one-dimensional. See how we built an intelligent load manager that sheds smarter, adapts to diverse signals, and stays fair under pressure. Even better, this approach led to a ~70%25 reduction in P99 latency.\u0022,\u0022ogImageURL\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/94f73de9-13eb-58b9-a343-11e2ae1f0c94.jpg\u0022,\u0022ogSiteName\u0022:\u0022Uber\u0022,\u0022ogTitle\u0022:\u0022How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management\u0022,\u0022ogType\u0022:\u0022website\u0022,\u0022ogURL\u0022:\u0022\u0022,\u0022title\u0022:\u0022How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management\u0022,\u0022twitterCard\u0022:\u0022summary\u0022,\u0022twitterSite\u0022:\u0022@Uber\u0022},\u0022templateID\u0022:\u0022c59976fe-3205-4d8f-a80d-ac05c0fae6d0\u0022,\u0022updatedAt\u0022:\u00222026-04-20T17:23:35.226802Z\u0022},\u0022blockContentID\u0022:\u0022a8a3530c-f5b4-4380-9940-3e4c16efe002\u0022}},{\u0022blockContentID\u0022:\u00224b46a2f1-4942-466a-8e04-9d8d72e8bfc0\u0022,\u0022blockKey\u0022:\u0022from-static-rate-limiting-to-intelligent-load-management.06e83e0ac54d477cb5881b184aa20c0e\u0022,\u0022content\u0022:{\u0022analyticsEvents\u0022:{},\u0022id\u0022:\u0022LongFormContent\u0022,\u0022props\u0022:{\u0022richTextEditor\u0022:{\u00220\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch1 class=%5C\u0022rich-heading-h1%5C\u0022\u003EIntroduction\u003C/h1\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u00221\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EUber’s thousands of microservices handle traffic for over 170 million monthly active users: riders, Uber Eats users, drivers, and couriers. At the heart of this infrastructure are \u003Ca class=%5C\u0022rich-link%5C\u0022 href=%5C\u0022https://www.uber.com/us/en/blog/schemaless-sql-database/?uclick_id=0ef55d57-e714-4820-8ab3-c3f30875480f%5C\u0022 rel=%5C\u0022noreferrer noopener%5C\u0022 target=%5C\u0022_blank%5C\u0022\u003EDocstore\u003C/a\u003E and \u003Ca class=%5C\u0022rich-link%5C\u0022 href=%5C\u0022https://www.uber.com/us/en/blog/schemaless-part-one-mysql-datastore/?uclick_id=0ef55d57-e714-4820-8ab3-c3f30875480f%5C\u0022 rel=%5C\u0022noreferrer noopener%5C\u0022 target=%5C\u0022_blank%5C\u0022\u003ESchemaless\u003C/a\u003E, Uber’s in-house distributed databases built on top of MySQL®. These databases span thousands of clusters, store tens of petabytes of operational data, and serve tens of millions of requests per second with billions of rows read or updated. They back some of the most latency-sensitive and mission-critical workloads, powering every business vertical at Uber: from rides and deliveries to maps, payments, and beyond. \u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u00222\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EAt this scale, even minor overloads aren’t isolated events, they cascade. A brief spike in one part of the system can ripple outward: downstream services time out, retries pile up, and degradation amplifies into broader failure. In a multitenant environment, it’s also critical to ensure fairness and prevent any tenant from hogging all the resources. With workloads varying in traffic shape, latency profiles, and system impact, building effective overload protection is a uniquely challenging problem.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u00223\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThe cost of getting overload protection wrong is steep. This blog shares how we built an intelligent load manager that detects overload from multiple signals to keep our databases stable and fair under pressure.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u00224\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u00225\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch2 class=%5C\u0022rich-heading-h2%5C\u0022\u003EDocstore and Schemaless\u003C/h2\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u00226\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EBefore diving into the load manager that protects Uber’s databases, let’s walk through their architecture.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u00227\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EWhile \u003Ca class=%5C\u0022rich-link%5C\u0022 href=%5C\u0022https://www.uber.com/us/en/blog/schemaless-sql-database/?uclick_id=0ef55d57-e714-4820-8ab3-c3f30875480f%5C\u0022 rel=%5C\u0022noreferrer noopener%5C\u0022 target=%5C\u0022_blank%5C\u0022\u003EDocstore\u003C/a\u003E supports transactions with full CRUD operations and \u003Ca class=%5C\u0022rich-link%5C\u0022 href=%5C\u0022https://www.uber.com/us/en/blog/schemaless-part-one-mysql-datastore/?uclick_id=0ef55d57-e714-4820-8ab3-c3f30875480f%5C\u0022 rel=%5C\u0022noreferrer noopener%5C\u0022 target=%5C\u0022_blank%5C\u0022\u003ESchemaless\u003C/a\u003E is optimized for append-only workloads, both share a common architectural foundation. It comprises three primary layers: a stateless query engine, a stateful storage engine, and a control plane. For the scope of this blog, we’ll focus on the query and storage engine layers.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u00228\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u00229\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129958%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022719%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9mYzFjMzUzYS1hZWQyLTU2N2QtYmVmMC1kYzc0NmEwYWU5ZDgucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 1: Docstore and Schemaless architecture.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u002210\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002211\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThe stateless query engine is responsible for query planning, request routing, sharding, schema management, authorization, request parsing, and validation. It serves as the routing layer: coordinating and validating client requests before handing them off to the storage layer.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002212\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThe stateful storage engine handles transaction management, connection pooling, consensus, and replication. Data is sharded across multiple partitions, with each partition consisting of one leader and two followers, coordinated via \u003Ca class=%5C\u0022rich-link%5C\u0022 href=%5C\u0022https://www.scs.stanford.edu/~zyedidia/docs/papers/raft.pdf%5C\u0022 rel=%5C\u0022noreferrer noopener%5C\u0022 target=%5C\u0022_blank%5C\u0022\u003ERaft\u003C/a\u003E to ensure strong consistency. Each partition is backed by MySQL nodes with locally attached NVMe SSDs, built to support high-throughput, low-latency workloads at scale.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002213\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002214\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch2 class=%5C\u0022rich-heading-h2%5C\u0022\u003EChallenges\u003C/h2\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u002215\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch3 class=%5C\u0022rich-heading-h3%5C\u0022\u003EQuota-Based Rate Limiting in the Query Engine Layer\u003C/h3\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u002216\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129957%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022517%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9lMDg2MmQ1Yi1hMTdjLTViNjMtYWEyYi02MTI1YWIzMWQ2YzIucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 2: Quota-based rate-limiting setup.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u002217\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002218\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EInitially, we explored a quota based rate-limiting approach within the stateless query engine layer. The concept was simple: assign each read and write request a capacity unit cost based on bytes processed, grant users fixed quotas, and return a 429 when those quotas were exceeded. Since routing nodes were stateless, we stored quota usage in a central Redis® cache. While conceptually sound, this approach didn’t hold up in production.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002219\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EFirst, it added unnecessary complexity. Every request required a Redis call, introducing a new point of failure and the overhead of an additional network hop.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002220\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EFurther,\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003E \u003C/strong\u003Efor the stateless routing layer to accurately shed requests for an overloaded storage partition, it’d need to maintain realtime health and load information for thousands of partitions across the system. This introduced a lot of tracking overhead, undermining the scalability of the architecture.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002221\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThe cost model was also too imprecise. In Docstore and Schemaless, due to the way MySQL handles scanning and filtering, a query that performs a full table scan but returns a single row was assigned the same capacity cost as a query that only reads a single row. This fundamental flaw in our metering meant that lightweight and heavyweight operations were treated the same, making quota enforcement unreliable.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002222\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EFinally, quotas were defined statically, resulting in frequent requests from stakeholders to adjust their quotas, making them ineffective in multitenant environments. \u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002223\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EDespite its initial promise, this approach failed. But it gave us a crucial insight: overload management must live as close to the storage nodes as possible. That realization became a cornerstone of the final design in the stateful storage layer.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002224\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002225\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch3 class=%5C\u0022rich-heading-h3%5C\u0022\u003EIdentifying the Right Signal for Overload\u003C/h3\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u002226\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EA core challenge in designing a resilient load manager is choosing a reliable signal for overload. Simple QPS-based rate limiting is too coarse. It fails to account for workload variability, often shedding too late or too early. What can be more effective is concurrency: the number of operations currently in flight. It directly reflects system load, following Little’s Law: \u003Cem class=%5C\u0022rich-italic%5C\u0022\u003EConcurrency = Throughput × Latency\u003C/em\u003E. In stateful systems, it maps closely to resource usage, making it a more dependable indicator.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002227\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002228\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch3 class=%5C\u0022rich-heading-h3%5C\u0022\u003EBalancing Resilience and Fairness\u003C/h3\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u002229\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EBalancing resilience and fairness is a core challenge in multitenant systems. During ‌system-wide stress, we want to shed traffic by priority, dropping low-priority requests first. But when a single noisy actor hogs resources without triggering global overload, we also need per-tenant rate limiting that works independently of the system load. This dual requirement led us to combine dynamic overload detectors with fairness enforcement mechanisms that operate in parallel.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002230\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002231\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch2 class=%5C\u0022rich-heading-h2%5C\u0022\u003EBuilding the Foundation of a Unified Load Manager\u003C/h2\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u002232\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129961%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022633%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9hZWI1ZTNkNS1kZDc0LTUyMTAtOTgyOS1mYjYzYzc1Y2Q4ZWYucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 3: Initial load manager setup with CoDel queue.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u002233\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002234\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch3 class=%5C\u0022rich-heading-h3%5C\u0022\u003EControlled Delay: Smarter Queuing Under Pressure\u003C/h3\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u002235\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThe load-shedding journey began with \u003Ca class=%5C\u0022rich-link%5C\u0022 href=%5C\u0022https://queue.acm.org/detail.cfm?id=2209336%5C\u0022 rel=%5C\u0022noreferrer noopener%5C\u0022 target=%5C\u0022_blank%5C\u0022\u003ECoDel\u003C/a\u003E (Controlled Delay), a concept borrowed from networking to combat bufferbloat. Instead of shedding based on queue length, CoDel looks at how long requests wait in the queue: favoring responsiveness over volume.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002236\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EWe implemented separate CoDel queues for each operation type:\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002237\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cul class=%5C\u0022rich-list-ul%5C\u0022\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003ERead queue\u003C/strong\u003E: for point lookups and light queries\u003C/li\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003EWrite queue\u003C/strong\u003E: for insert, update, and upsert operations\u003C/li\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003ESlow queue\u003C/strong\u003E: for long-running and background operations like scans, deletes, or replication\u003C/li\u003E \u003C/ul\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022list\u0022},\u002238\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EEach queue was managed independently, giving us better isolation across workloads.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002239\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002240\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129956%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022840%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy84MWJiOTQ3Zi00ZWFmLTU2NTctYjg4NS1mZmE1M2IzNjBlY2MucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 4: CoDel queue behavior.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u002241\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002242\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EFIFO queuing wasn’t enough because a pure FIFO queue processes requests in arrival order, which works well when traffic is stable. But under overload, FIFO creates a trap: old requests accumulate, wait too long, and often get abandoned or retried by the client. This results in wasted work. Meanwhile, fresh requests, still relevant and likely to succeed, sit idle at the end of the line.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002243\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003ECoDel introduces adaptive LIFO to solve this. Figure 5 shows how it works.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002244\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002245\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129954%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022211%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8yMmNlMTgyNi03YTYwLTU3NzctYTFmNy0wOTU4NmVkZTFiMzUucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 5: CoDel algorithm.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u002246\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002247\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EUnder normal load, the queue behaves as FIFO. Under pressure, it switches to LIFO, favoring newer requests that still have a chance to succeed. This simple shift improves responsiveness by failing fast, shedding stale work, and giving fresh requests priority. \u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002248\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch3 class=%5C\u0022rich-heading-h3%5C\u0022\u003EScorecard Engine\u003C/h3\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u002249\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThe Scorecard engine is a rule-based admission control component and a lightweight quota system designed to enforce per-tenant concurrency limits in multitenant environments. While load-shedding protects the system during overload, Scorecard ensures that no single tenant can dominate shared infrastructure, even in normal conditions. \u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002250\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThe configuration is simple and deterministic.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002251\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002252\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129955%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022180%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8yMjZlYWI0My0xY2NiLTVlZjEtYTcyOS0wNzlhMjc4YTE4YjIucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 6: Scorecard rules.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u002253\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002254\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThe primary benefit of the Scorecard lies in incident containment. It helps pinpoint the source of disruption during outages or traffic spikes. It isolates and caps misbehaving tenants without disrupting others, balances stability during normal load with strict limits under stress, and reduces blast radius during overload events by enforcing boundaries quickly and deterministically.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002255\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThe Scorecard provides predictable fairness and blast radius control, especially when multiple tenants are competing for shared resources.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002256\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch3 class=%5C\u0022rich-heading-h3%5C\u0022\u003ERegulators\u003C/h3\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u002257\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EWhile Scorecard protects against concurrency-based overuse, it doesn’t cover all the ways a stateful database system can overload. Some forms of skews are subtle. They don’t show up in concurrency saturation, but they can still degrade system performance if left unchecked.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002258\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EFor example, a low QPS caller can still overload the system by sending large write payloads. Or, traffic skewed to one partition key can overload a single cluster while others sit idle.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002259\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003ETo guard against these skewed behaviors, we introduced plug-in regulators: node-local overload detectors that enforce invariants the system mustn’t violate. They rarely trigger during healthy operation, and that’s by design. At the same time, when users accidentally create hotspots or large data ingestions, regulators kick in to prevent cascading failures.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002260\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EWe use these regulators:\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002261\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cul class=%5C\u0022rich-list-ul%5C\u0022\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003EWrite bytes regulator: \u003C/strong\u003ELimits concurrent write volume to prevent I/O saturation\u003C/li\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003EPartition key regulator: \u003C/strong\u003EThrottles traffic targeting hot partition keys\u003C/li\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003EMemory regulator:\u003C/strong\u003E Tracks free process memory and throttles when we’re low on memory\u003C/li\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003EGoroutines regulator:\u003C/strong\u003E Tracks total number of goroutines and throttles when it exceeds threshold\u003C/li\u003E \u003C/ul\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022list\u0022},\u002262\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch3 class=%5C\u0022rich-heading-h3%5C\u0022\u003EWhat Worked Well\u003C/h3\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u002263\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EBy shedding excess requests, our CoDel queues prevented runaway resource exhaustion, which led to improved stability and a higher success rate for accepted requests. This approach was particularly effective at ensuring that core system functionality remained available during overloads.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002264\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002265\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129959%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022557%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy83MzdiYzc5Ny05MDU3LTU2ZjUtYTcxZC03YmJlODJmN2RkOWIucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 7: Improved availability.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u002266\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002267\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThe Scorecard engine successfully isolated misbehaving tenants by enforcing per-tenant concurrency limits. This allowed us to quickly contain disruptions from noisy neighbors without penalizing other users, ensuring that shared resources were used fairly.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002268\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch3 class=%5C\u0022rich-heading-h3%5C\u0022\u003ELimitations\u003C/h3\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u002269\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EWhile this initial setup laid the foundation for overload protection and fairness, it came with a few limitations. First, CoDel treated all requests equally, dropping low-priority and user-facing traffic alike, leading to a bad customer experience and increased on-call load.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002270\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003ECoDel also relied on fixed queue timeouts and static inflight concurrency limits, which can be a low-fidelity solution for a dynamic system, requiring frequent manual tuning and leading to operational toil.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002271\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThe fixed, static wait times in CoDel led to a thundering herd problem. When requests were eventually rejected, they’d all retry at once, triggering repeated cycles of overload and rejection. During these periods, the lack of traffic differentiation meant even high-priority requests were dropped, leading to customer-visible errors and amplifying the blast radius.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002272\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EUltimately, it kept things from breaking, but lacked the nuance and dynamism required for a high-quality user experience. This highlighted the need for dynamic and priority-aware queues.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002273\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002274\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch2 class=%5C\u0022rich-heading-h2%5C\u0022\u003EEvolving the Architecture\u003C/h2\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u002275\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch3 class=%5C\u0022rich-heading-h3%5C\u0022\u003ECinnamon Replaces CoDel\u003C/h3\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u002276\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EWe observed that many overloads stemmed from low-priority, asynchronous jobs: pipelines, aggregators, and internal garbage collection flows. These shouldn’t have the same survivability as ride requests or real-time pricing queries.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002277\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003ETo address this, we replaced CoDel with \u003Ca class=%5C\u0022rich-link%5C\u0022 href=%5C\u0022https://www.uber.com/us/en/blog/cinnamon-using-century-old-tech-to-build-a-mean-load-shedder/%5C\u0022 rel=%5C\u0022noreferrer noopener%5C\u0022 target=%5C\u0022_blank%5C\u0022\u003ECinnamon\u003C/a\u003E, a priority-aware load shedder developed by the Delivery team at Uber. Cinnamon makes smarter shedding decisions by considering request rank, dynamic system state, and the relative importance of workloads. \u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002278\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003ERequest rank is derived from the priority attached to the request, and if no explicit priority is present, Cinnamon assigns a default based on the calling service. Priority is defined using a tiering model from tier 0 (t0) for the most critical traffic to tier 5 (t5) for the least. While t0 is reserved for a small subset of critical infrastructure services, t1 represents the most important user facing online traffic, the core workloads we aim to protect during overloads. This system allows Cinnamon to shed lower-priority traffic first during overload.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002279\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EWith request priority awareness in place, we simplified the queue structure to just read and write queues. Long-running and background operations were marked with lower priority instead of having a separate queue.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002280\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002281\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129960%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022647%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8yYzVkMjBkNS02ZmIwLTUzNTItYTMyMi1iOTZmY2QxNmZkMjIucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 8: Updated load shedder setup with Cinnamon queue.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u002282\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002283\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EBefore Cinnamon, the\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003E \u003C/strong\u003ECoDel queue load shedder\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003E \u003C/strong\u003Ewas priority-agnostic and shedding during overload was indiscriminate.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002284\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002285\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129963%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022701%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9kOWIyZGZlYS05Y2I5LTUyNjctYWNhNy0xNGM3MDBkMTVhZWQucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 9: Priority Agnostic Load shedder setup with CoDel queue.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u002286\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002287\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EAfter Cinnamon, the queue load shedder\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003E \u003C/strong\u003Ewas priority-aware and shedding during overload\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003E \u003C/strong\u003Ehappened\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003E \u003C/strong\u003Ein order of priority.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002288\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002289\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129964%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022653%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9lOGVhYTA5MC0zMTc4LTU1YmMtYjcwZC1kMGZjOThjYzM1Y2EucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 10: Priority Aware Load shedder setup with Cinnamon queue.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u002290\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch3 class=%5C\u0022rich-heading-h3%5C\u0022\u003EPerformance and Stability Gains\u003C/h3\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u002291\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EWe saw performance and stability gains from the Cinnamon-based design. Requests are ranked, allowing Cinnamon to shed low-priority traffic first, protecting user facing flows. During overloads, critical user-facing requests are better protected with minimal impact. \u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002292\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002293\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129971%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u00221014%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9hNDEyYTFhNy0yNDMxLTVhOGQtYTk0OS0wMzExMjkzYzcyNWQucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 11: Prioritized shedding in action.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u002294\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003ECinnamon also adapts queue timeout thresholds using P90 latency metrics, eliminating the need for manual tuning. Moreover, its \u003Ca class=%5C\u0022rich-link%5C\u0022 href=%5C\u0022https://www.uber.com/blog/cinnamon-auto-tuner-adaptive-concurrency-in-the-wild/%5C\u0022 rel=%5C\u0022noreferrer noopener%5C\u0022 target=%5C\u0022_blank%5C\u0022\u003EAuto Tuner\u003C/a\u003E dynamically adjusts inflight limits, represented by the available slots in the blue box in Figure 10, to maximize throughput. It does this by continuously monitoring and reacting to realtime latency and error rate signals, ensuring stable and effective load shedding.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002295\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EUnlike CoDel’s static approach, which aggressively rejects all requests after a fixed wait time, like 5 milliseconds, Cinnamon’s \u003Ca class=%5C\u0022rich-link%5C\u0022 href=%5C\u0022https://www.uber.com/us/en/blog/pid-controller-for-cinnamon/%5C\u0022 rel=%5C\u0022noreferrer noopener%5C\u0022 target=%5C\u0022_blank%5C\u0022\u003EPID-based control\u003C/a\u003E allows the system to absorb pressure without overreacting. It dynamically adjusts queue timeouts and inflight limits based on realtime latency and error signals, shedding only when necessary. This prevents a large class of premature shedding that would otherwise lead to unnecessary rejections, retries, and thundering herd effects. The result is smoother recovery, fewer 429s, and more consistent availability without compromising system health.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002296\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002297\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129966%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022252%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy9mOGQ0YTUxNi03ZmNiLTVjNjEtOTU1NS1hOTNiYWE3ZTNjZGMucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 12: Reduced premature shedding.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u002298\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u002299\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch3 class=%5C\u0022rich-heading-h3%5C\u0022\u003EAreas for Improvement\u003C/h3\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u0022100\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EDespite the gains from Cinnamon, some key challenges remained, highlighting the need for a unified platform.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022101\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThe load manager acted based on the local health of the server, tracking signals like inflight concurrency, write bytes, or memory usage. But in distributed systems, overload isn’t always local. A leader node may need to shed traffic because follower nodes are lagging, even if it’s healthy itself. We call this commit index lag. Traditionally, external components using token-bucket-based rate limiters handled such remote shedding decisions. These were easy to build but proved ineffective at scale, introducing split-brain behaviors and globally suboptimal shedding decisions.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022102\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThe initial design was excellent for concurrency-based shedding, but it wasn’t built to be a reusable platform for future overload signals that would inevitably arise from a growing system.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022103\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThese insights led us to the final evolution of our system: transforming Cinnamon from a concurrency only shedder into a truly general purpose overload control engine. By consolidating all signals into a single, modular decision-making loop, we achieved holistic and consistent overload management.\u003Cbr\u003E\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022104\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022105\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch2 class=%5C\u0022rich-heading-h2%5C\u0022\u003EThe Unified Load Shedding Engine\u003C/h2\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u0022106\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch3 class=%5C\u0022rich-heading-h3%5C\u0022\u003ECentralizing Overload Decisions\u003C/h3\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u0022107\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EWe enhanced Cinnamon to support pluggable external signals like follower commit lags, enabling the system to make globally informed, priority-aware shedding decisions within the same admission control path. This shift unified local and remote overload logic into a single control loop, closing the gaps that previously caused instability.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022108\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022109\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129965%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022640%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8xMmZkZjAwYy00MGY1LTU2Y2UtYmY4MS01MDA5OWFjYTBjYjcucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 13: Unified load-shedding engine in Cinnamon.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u0022110\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022111\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EBut shedding isn’t always a one-size-fits-all decision and that’s where the load manager architecture shines. Built on a BYOS (Bring Your Own Signal) ethos, it provides a pluggable framework that lets the team embed new overload signals and route them to the right control path. Whether the pressure is systemic or actor-specific, the load manager sheds broadly by priority or precisely by caller, based on the signal. \u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022112\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022113\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129962%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022275%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8xY2I2MDczYy03ZGNiLTViNzItOGU4OS02NGVkZjYyYTNhNDQucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 14: Bring your own signal.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u0022114\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022115\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch3 class=%5C\u0022rich-heading-h3%5C\u0022\u003EThe Payoff: Unified Control, Simplified Load Management\u003C/h3\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u0022116\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EThe shift to a centralized, pluggable architecture made the system more stable and predictable, with real wins.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022117\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003ECinnamon sheds excess requests immediately using a PID controller, avoiding the memory and goroutine buildup caused by token bucket limiters. This led to lower tail latencies and a leaner resource usage profile, even under heavy load. We saw: \u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022118\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cul class=%5C\u0022rich-list-ul%5C\u0022\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E80%25 increase in throughput under overload (QPS average of 5,400 versus 3,000)\u003C/li\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E~70%25 reduction in P99 latency (upsert average of 1.0 seconds versus 3.1 seconds)\u003C/li\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E~93%25 fewer goroutines during overload (peak 10,000 versus 150,000)\u003C/li\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E~60%25 lower heap usage (1 GB max versus 5-6 GB spikes)\u003C/li\u003E \u003C/ul\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022list\u0022},\u0022119\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022120\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129969%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022514%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8zOTNkMDZlYi1hNjYyLTU1NDEtOGM3NS0wODU4OWRhMTQ2ZjMucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 15A: (Before) Token bucket latency and resource profile.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u0022121\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022122\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129970%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022508%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy8wNjYzZDlkYS1mMzc5LTUzOWQtOGVjMi02OTdkZjBlNDY2YjMucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 15B: (After) Cinnamon latency and resource profile.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u0022123\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022124\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003E\u003Cbr\u003EWe also saw smoother, more predictable shedding behavior. Without PID regulation, shedding acts like a hammer: reactive and abrupt. With it, it’s more like a dimmer switch: smooth and stable. The difference is clear when comparing how commit lag stabilizes under a token bucket limiter versus Cinnamon’s PID-based controller.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022125\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022126\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129967%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022429%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy83OWFkMWFlNi1iNmVhLTVlZGQtYmIyMi03YTM5YWQ5ZjQ0OGQucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 16A: (Before) Token bucket spiky shedding pattern.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u0022127\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022128\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cfigure class=%5C\u0022rich-figure%5C\u0022\u003E\u003Cimg alt=%5C\u0022%5C\u0022 class=%5C\u0022wp-image-1129968%5C\u0022 decoding=%5C\u0022async%5C\u0022 height=%5C\u0022355%5C\u0022 loading=%5C\u0022lazy%5C\u0022 sizes=%5C\u0022auto, (max-width: 1024px) 100vw, 1024px%5C\u0022 src=%5C\u0022https://cn-geo1.uber.com/image-proc/resize/udam/format=auto/quality=0/width=2160/srcb64=aHR0cHM6Ly90Yi1zdGF0aWMudWJlci5jb20vcHJvZC91ZGFtLWFzc2V0cy85NTQ4MjY0ZS00MDVhLTVhMzgtODEzOC0wYmViZmUwMzM0YjcucG5n%5C\u0022 width=%5C\u00221024%5C\u0022\u003E\u003Cfigcaption class=%5C\u0022rich-figure-caption%5C\u0022\u003EFigure 16B: (After) Cinnamon’s stable shedding pattern.\u003C/figcaption\u003E\u003C/figure\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022figure\u0022},\u0022129\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022130\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch2 class=%5C\u0022rich-heading-h2%5C\u0022\u003ELessons Learned \u003C/h2\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u0022131\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cul class=%5C\u0022rich-list-ul%5C\u0022\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003EPrioritization is paramount.\u003C/strong\u003E Effective load-shedding starts with deciding what matters most. Protect critical, user-facing traffic first. Everything else is secondary.\u003C/li\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003EFail fast, don’t block.\u003C/strong\u003E Rejecting early is almost always better than holding requests in memory until they expire. It reduces wasted work, keeps latencies predictable, prevents OOMs, and makes the system more resilient under stress.\u003C/li\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003EPID regulation for stable shedding\u003C/strong\u003E. Simple, reactive shedding based solely on current error rates often causes instability, overcorrecting too late, and too hard. PID based regulation brings balance by incorporating system history and directional trends, making it a critical tool for smooth, sustained, and resilient overload control.\u003C/li\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003EPlace control close to the source of truth.\u003C/strong\u003E The best shedding decisions happen where the state lives. Protection in the layer that has full context, typically the storage layer in stateful systems.\u003C/li\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003EEmbrace dynamism. \u003C/strong\u003EAvoid static configurations wherever possible. Your system should be intelligent enough to adapt to different scenarios, based on the context.\u003C/li\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003EInvest in visibility and monitoring. \u003C/strong\u003EGood observability is the foundation for tuning and trust. Track what’s being shed, why it’s being shed, and how each component contributes to system pressure.\u003C/li\u003E \u003Cli class=%5C\u0022rich-list-item%5C\u0022\u003E\u003Cstrong class=%5C\u0022rich-bold%5C\u0022\u003ESimplicity over complexity.\u003C/strong\u003E This is a meta principle that guides all the other decisions. \u003C/li\u003E \u003C/ul\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022list\u0022},\u0022132\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Chr class=%5C\u0022wp-block-separator has-alpha-channel-opacity%5C\u0022 data-wp-block-name=%5C\u0022core/separator%5C\u0022\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022133\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch1 class=%5C\u0022rich-heading-h1%5C\u0022\u003EConclusion\u003C/h1\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u0022134\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EOur journey to a resilient load manager was defined by the unique complexities of a large-scale, stateful, and distributed environment. By unifying disparate components into a single decision-making brain and adopting a Bring Your Own Signal model, we gained the flexibility to handle systemic overloads and localized noisy neighbor issues with precision. The result is a load management system that sheds smarter in a priority-aware manner, keeps tail latencies low, and drastically reduces operational toil. \u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022135\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EIf you like challenges related to distributed systems, databases, storage, and cache, apply for open positions \u003Ca class=%5C\u0022rich-link%5C\u0022 href=%5C\u0022https://www.uber.com/us/en/careers/list/?query=storage\u0026amp;department=Engineering%5C\u0022 rel=%5C\u0022noreferrer noopener%5C\u0022 target=%5C\u0022_blank%5C\u0022\u003Ehere\u003C/a\u003E.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022136\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Ch2 class=%5C\u0022rich-heading-h2%5C\u0022\u003EAcknowledgments\u003C/h2\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022heading\u0022},\u0022137\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003EA project of this scope is rarely accomplished alone. Our sincere thanks to Rich Porter, Jesper Nielsen, Piyush Patel, and the engineers from the Storage and Delivery teams for their guidance and collaboration throughout this journey. From design reviews to on-call insights, their contributions were instrumental in building a resilient system that now safeguards some of Uber’s most critical infrastructure.\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022138\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003E\u003Cem class=%5C\u0022rich-italic%5C\u0022\u003ECover Photo Attribution: “\u003Ca class=%5C\u0022rich-link%5C\u0022 href=%5C\u0022https://www.pexels.com/photo/heavy-traffic-jam-in-urban-city-center-32487428/%5C\u0022\u003EHeavy Traffic Jam in Urban City Center\u003C/a\u003E” by \u003Ca class=%5C\u0022rich-link%5C\u0022 href=%5C\u0022https://www.pexels.com/@dapur-melodi-192125/%5C\u0022\u003EDapur Melodi\u003C/a\u003E\u003C/em\u003E\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022139\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003E\u003Cem class=%5C\u0022rich-italic%5C\u0022\u003EMySQL is a registered trademark of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.\u003C/em\u003E\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022},\u0022140\u0022:{\u0022htmlContent\u0022:\u0022\u003Cbody\u003E\u003Cdiv\u003E\u003Cp class=%5C\u0022rich-paragraph%5C\u0022\u003E\u003Cem class=%5C\u0022rich-italic%5C\u0022\u003ERedis is a trademark of Redis Labs Ltd. Any rights therein are reserved to Redis Labs Ltd. Any use herein is for referential purposes only and does not indicate any sponsorship, endorsement or affiliation between Redis and Uber.\u003C/em\u003E\u003C/p\u003E\u003C/div\u003E\u003C/body\u003E\u0022,\u0022type\u0022:\u0022paragraph\u0022}}},\u0022blockContentID\u0022:\u00224b46a2f1-4942-466a-8e04-9d8d72e8bfc0\u0022}},{\u0022blockContentID\u0022:\u002243e4ae80-60a3-42bd-b968-a3fb35e810e3\u0022,\u0022blockKey\u0022:\u0022from-static-rate-limiting-to-intelligent-load-management.8b9d273403be48c8b9ac9bf48390e9ef\u0022,\u0022content\u0022:{\u0022analyticsEvents\u0022:{},\u0022id\u0022:\u0022ArticleCategories\u0022,\u0022props\u0022:{\u0022breadcrumbData\u0022:{\u0022parentFullURL\u0022:\u0022\u0022,\u0022title\u0022:\u0022\u0022},\u0022categoryIds\u0022:[\u0022add2dbca-fda9-41d4-9a47-8ca0529aaa88\u0022,\u0022b374768e-489f-42d5-913d-269fbb44a44b\u0022],\u0022cityOverride\u0022:{},\u0022isCountryVariant\u0022:true,\u0022isDynamicTemplate\u0022:false,\u0022isLive\u0022:true,\u0022namespace\u0022:\u0022blog\u0022,\u0022pattern\u0022:\u0022/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022publishedAt\u0022:\u00222026-04-20T17:21:25.1Z\u0022,\u0022tags\u0022:{\u0022canonical\u0022:\u0022https://www.uber.com/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022description\u0022:\u0022🧠 Overload in stateful databases isn’t one-dimensional. See how we built an intelligent load manager that sheds smarter, adapts to diverse signals, and stays fair under pressure. Even better, this approach led to a ~70%25 reduction in P99 latency.\u0022,\u0022googlePlayAppID\u0022:\u0022com.ubercab\u0022,\u0022iPadAppID\u0022:\u0022368677368\u0022,\u0022iPhoneAppID\u0022:\u0022368677368\u0022,\u0022noIndex\u0022:false,\u0022ogDescription\u0022:\u0022🧠 Overload in stateful databases isn’t one-dimensional. See how we built an intelligent load manager that sheds smarter, adapts to diverse signals, and stays fair under pressure. Even better, this approach led to a ~70%25 reduction in P99 latency.\u0022,\u0022ogImageURL\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/94f73de9-13eb-58b9-a343-11e2ae1f0c94.jpg\u0022,\u0022ogSiteName\u0022:\u0022Uber\u0022,\u0022ogTitle\u0022:\u0022How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management\u0022,\u0022ogType\u0022:\u0022website\u0022,\u0022ogURL\u0022:\u0022\u0022,\u0022title\u0022:\u0022How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management\u0022,\u0022twitterCard\u0022:\u0022summary\u0022,\u0022twitterSite\u0022:\u0022@Uber\u0022},\u0022templateID\u0022:\u0022c59976fe-3205-4d8f-a80d-ac05c0fae6d0\u0022,\u0022updatedAt\u0022:\u00222026-04-20T17:23:35.226802Z\u0022},\u0022blockContentID\u0022:\u002243e4ae80-60a3-42bd-b968-a3fb35e810e3\u0022}},{\u0022blockContentID\u0022:\u00221f33a1b6-ab85-472f-a9bf-3188fa69a6b1\u0022,\u0022blockKey\u0022:\u0022from-static-rate-limiting-to-intelligent-load-management.d77a2309974e4e31872211b400a2f378\u0022,\u0022content\u0022:{\u0022analyticsEvents\u0022:{},\u0022id\u0022:\u0022ArticleAuthor\u0022,\u0022props\u0022:{\u0022authorUUIDs\u0022:[\u0022f7a737e3-1f43-4a32-b291-1a5e76d4d7a8\u0022,\u002286259135-a80c-481a-a5fe-fcceda8675f6\u0022,\u0022ea8460c7-3c20-4c16-b520-6a256a231461\u0022,\u00227d1df95a-3397-4b6c-93c7-ed79d6748398\u0022],\u0022breadcrumbData\u0022:{\u0022parentFullURL\u0022:\u0022\u0022,\u0022title\u0022:\u0022\u0022},\u0022categoryIds\u0022:[\u0022add2dbca-fda9-41d4-9a47-8ca0529aaa88\u0022,\u0022b374768e-489f-42d5-913d-269fbb44a44b\u0022],\u0022cityOverride\u0022:{},\u0022isCountryVariant\u0022:true,\u0022isDynamicTemplate\u0022:false,\u0022isLive\u0022:true,\u0022namespace\u0022:\u0022blog\u0022,\u0022pattern\u0022:\u0022/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022publishedAt\u0022:\u00222026-04-20T17:21:25.1Z\u0022,\u0022tags\u0022:{\u0022canonical\u0022:\u0022https://www.uber.com/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022description\u0022:\u0022🧠 Overload in stateful databases isn’t one-dimensional. See how we built an intelligent load manager that sheds smarter, adapts to diverse signals, and stays fair under pressure. Even better, this approach led to a ~70%25 reduction in P99 latency.\u0022,\u0022googlePlayAppID\u0022:\u0022com.ubercab\u0022,\u0022iPadAppID\u0022:\u0022368677368\u0022,\u0022iPhoneAppID\u0022:\u0022368677368\u0022,\u0022noIndex\u0022:false,\u0022ogDescription\u0022:\u0022🧠 Overload in stateful databases isn’t one-dimensional. See how we built an intelligent load manager that sheds smarter, adapts to diverse signals, and stays fair under pressure. Even better, this approach led to a ~70%25 reduction in P99 latency.\u0022,\u0022ogImageURL\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/94f73de9-13eb-58b9-a343-11e2ae1f0c94.jpg\u0022,\u0022ogSiteName\u0022:\u0022Uber\u0022,\u0022ogTitle\u0022:\u0022How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management\u0022,\u0022ogType\u0022:\u0022website\u0022,\u0022ogURL\u0022:\u0022\u0022,\u0022title\u0022:\u0022How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management\u0022,\u0022twitterCard\u0022:\u0022summary\u0022,\u0022twitterSite\u0022:\u0022@Uber\u0022},\u0022templateID\u0022:\u0022c59976fe-3205-4d8f-a80d-ac05c0fae6d0\u0022,\u0022updatedAt\u0022:\u00222026-04-20T17:23:35.226802Z\u0022},\u0022blockContentID\u0022:\u00221f33a1b6-ab85-472f-a9bf-3188fa69a6b1\u0022}},{\u0022blockContentID\u0022:\u0022548dce41-afef-4963-aed3-c342568a8aa9\u0022,\u0022blockKey\u0022:\u0022from-static-rate-limiting-to-intelligent-load-management.1ba04f73eb5448439681577801d1f0a1\u0022,\u0022content\u0022:{\u0022analyticsEvents\u0022:{},\u0022id\u0022:\u0022ArticleFeed\u0022,\u0022props\u0022:{\u0022categories\u0022:[{\u0022id\u0022:\u0022add2dbca-fda9-41d4-9a47-8ca0529aaa88\u0022,\u0022label\u0022:\u0022Engineering\u0022},{\u0022id\u0022:\u0022b374768e-489f-42d5-913d-269fbb44a44b\u0022,\u0022label\u0022:\u0022Backend\u0022}],\u0022headline\u0022:\u0022Related Articles\u0022,\u0022breadcrumbData\u0022:{\u0022parentFullURL\u0022:\u0022\u0022,\u0022title\u0022:\u0022\u0022},\u0022categoryIds\u0022:[\u0022add2dbca-fda9-41d4-9a47-8ca0529aaa88\u0022,\u0022b374768e-489f-42d5-913d-269fbb44a44b\u0022],\u0022cityOverride\u0022:{},\u0022isCountryVariant\u0022:true,\u0022isDynamicTemplate\u0022:false,\u0022isLive\u0022:true,\u0022namespace\u0022:\u0022blog\u0022,\u0022pattern\u0022:\u0022/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022publishedAt\u0022:\u00222026-04-20T17:21:25.1Z\u0022,\u0022tags\u0022:{\u0022canonical\u0022:\u0022https://www.uber.com/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022description\u0022:\u0022🧠 Overload in stateful databases isn’t one-dimensional. See how we built an intelligent load manager that sheds smarter, adapts to diverse signals, and stays fair under pressure. Even better, this approach led to a ~70%25 reduction in P99 latency.\u0022,\u0022googlePlayAppID\u0022:\u0022com.ubercab\u0022,\u0022iPadAppID\u0022:\u0022368677368\u0022,\u0022iPhoneAppID\u0022:\u0022368677368\u0022,\u0022noIndex\u0022:false,\u0022ogDescription\u0022:\u0022🧠 Overload in stateful databases isn’t one-dimensional. See how we built an intelligent load manager that sheds smarter, adapts to diverse signals, and stays fair under pressure. Even better, this approach led to a ~70%25 reduction in P99 latency.\u0022,\u0022ogImageURL\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/94f73de9-13eb-58b9-a343-11e2ae1f0c94.jpg\u0022,\u0022ogSiteName\u0022:\u0022Uber\u0022,\u0022ogTitle\u0022:\u0022How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management\u0022,\u0022ogType\u0022:\u0022website\u0022,\u0022ogURL\u0022:\u0022\u0022,\u0022title\u0022:\u0022How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management\u0022,\u0022twitterCard\u0022:\u0022summary\u0022,\u0022twitterSite\u0022:\u0022@Uber\u0022},\u0022templateID\u0022:\u0022c59976fe-3205-4d8f-a80d-ac05c0fae6d0\u0022,\u0022updatedAt\u0022:\u00222026-04-20T17:23:35.226802Z\u0022},\u0022blockContentID\u0022:\u0022548dce41-afef-4963-aed3-c342568a8aa9\u0022}},{\u0022blockContentID\u0022:\u002200cdbbb9-7ef2-4465-9486-c208a836b0f5\u0022,\u0022blockKey\u0022:\u0022s_n_page_4_9_4_a_1.65af07cdc047499b92da74f1c4fb0ea7\u0022,\u0022content\u0022:{\u0022analyticsEvents\u0022:{},\u0022id\u0022:\u0022Footer\u0022,\u0022props\u0022:{\u0022accessibility\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/about/accessibility/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Accessibility\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_accessibility_cta1\u0022},\u0022apple\u0022:{\u0022alt\u0022:\u0022Download the Uber app for IOS\u0022,\u0022href\u0022:\u0022https://rides.sng.link/Cw5zn/564k?_dl=uber%253A%252F%252F\u0026_smtype=3\u0026pcn=uber-com-footer\u0026mvid=[marketing-visitor-id]\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_apple_cta2\u0022},\u0022copyright\u0022:\u0022Uber Technologies Inc.\u0022,\u0022facebook\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.facebook.com/uber\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022Facebook\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_facebook_cta3\u0022},\u0022geolocation\u0022:{\u0022description\u0022:\u0022\u0022,\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022\u0022},\u0022subTitle\u0022:\u0022\u0022,\u0022title\u0022:\u0022Change your location\u0022},\u0022google\u0022:{\u0022alt\u0022:\u0022Download the Uber app for Android\u0022,\u0022href\u0022:\u0022https://rides.sng.link/Bw5zn/vz1k?_dl=uber%253A%252F%252F\u0026pcn=uber-com-footer\u0026mvid=[marketing-visitor-id]\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_google_cta4\u0022},\u0022group1\u0022:{\u0022childNodes\u0022:[{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/about/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022About us\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group1.childNodes[0].link_cta5\u0022}},{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022Our offerings, apps, and products\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/about/uber-offerings/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Our offerings\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group1.childNodes[1].link_cta6\u0022}},{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/newsroom/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Newsroom\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group1.childNodes[2].link_cta7\u0022}},{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://investor.uber.com/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Investors\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group1.childNodes[3].link_cta8\u0022}},{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Blog\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group1.childNodes[4].link_cta9\u0022}},{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://jobs.uber.com/en/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Careers\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group1.childNodes[5].link_cta10\u0022}},{\u0022hideWithUScript\u0022:\u0022true\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uber.com/legal/document/?name=uber-contact-information\u0022,\u0022text\u0022:\u0022Company information\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group1.childNodes[6].link_cta11\u0022}}],\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Company\u0022}},\u0022group2\u0022:{\u0022childNodes\u0022:[{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/ride/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Ride\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[0].link_cta12\u0022}},{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/drive/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Drive\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[1].link_cta13\u0022}},{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/deliver/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Deliver\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[2].link_cta14\u0022}},{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.ubereats.com/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Eat\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[3].link_cta15\u0022}},{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/business/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Uber for Business\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[4].link_cta16\u0022}},{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uberfreight.com/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Uber Freight\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[5].link_cta17\u0022}},{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022Gift cards to redeem and buy\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/gift-cards/\u0022,\u0022text\u0022:\u0022Gift cards\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[6].link_cta18\u0022}},{\u0022link\u0022:{\u0022href\u0022:\u0022https://www.uberhealth.com/\u0022,\u0022text\u0022:\u0022Uber Health\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[7].link_cta19\u0022}},{\u0022hideWithUScript\u0022:\u0022false\u0022,\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/advertising/\u0022,\u0022text\u0022:\u0022Uber Advertising\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[8].link_cta20\u0022}},{\u0022hideWithUScript\u0022:\u0022false\u0022,\u0022link\u0022:{\u0022href\u0022:\u0022https://merchants.ubereats.com/\u0022,\u0022text\u0022:\u0022Merchants\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group2.childNodes[9].link_cta21\u0022}}],\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Products\u0022}},\u0022group3\u0022:{\u0022childNodes\u0022:[{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/safety/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Safety\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group3.childNodes[0].link_cta22\u0022}},{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/about/sustainability/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Sustainability\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group3.childNodes[1].link_cta23\u0022}}],\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Global citizenship\u0022}},\u0022group4\u0022:{\u0022childNodes\u0022:[{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://rides.sng.link/Aw5zn/o42y?_dl=uber%253A%252F%252Freserve\u0026_smtype=3\u0026_forward_params=1\u0026_fallback_redirect=http%253A%252F%252Fm.uber.com%252Freserve\u0026pcn=ubercom-footer\u0026mvid=[marketing-visitor-id]\u0022,\u0022text\u0022:\u0022Reserve\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group4.childNodes[0].link_cta24\u0022}},{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/airports/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Airports\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group4.childNodes[1].link_cta25\u0022}},{\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/us/en/r/cities/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Cities\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_group4.childNodes[2].link_cta26\u0022}}],\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Travel\u0022}},\u0022instagram\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://instagram.com/uber/\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022Instagram\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_instagram_cta27\u0022},\u0022legal\u0022:\u0022\u0022,\u0022linkLogo\u0022:{\u0022ariaLabel\u0022:\u0022Visit Uber's Help Center\u0022,\u0022href\u0022:\u0022https://help.uber.com/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Visit Help Center\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_linkLogo_cta28\u0022},\u0022linkedin\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.linkedin.com/company/1815218\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022LinkedIn\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_linkedin_cta29\u0022},\u0022logo\u0022:{\u0022icon\u0022:{\u0022rtlMirror\u0022:false,\u0022src\u0022:\u0022\u0022,\u0022subType\u0022:\u0022CARD\u0022,\u0022title\u0022:\u0022\u0022,\u0022type\u0022:\u0022DYNAMIC_PHOTO\u0022},\u0022link\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Uber\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_logo.link_cta30\u0022}},\u0022privacy\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.uber.com/legal/document/?name=privacy-notice\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Privacy\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_privacy_cta31\u0022},\u0022terms\u0022:{\u0022ariaLabel\u0022:\u0022Terms and Conditions\u0022,\u0022href\u0022:\u0022https://www.uber.com/legal/document/?name=general-terms-of-use\u0022,\u0022openInNewTab\u0022:false,\u0022text\u0022:\u0022Terms\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_terms_cta32\u0022},\u0022twitter\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://twitter.com/uber\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022Twitter\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_twitter_cta33\u0022},\u0022youtube\u0022:{\u0022ariaLabel\u0022:\u0022\u0022,\u0022href\u0022:\u0022https://www.youtube.com/channel/UCgnxoUwDmmyzeigmmcf0hZA\u0022,\u0022openInNewTab\u0022:true,\u0022text\u0022:\u0022YouTube\u0022,\u0022data-tracking-name\u0022:\u0022_00cdbbb9-7ef2-4465-9486-c208a836b0f5_youtube_cta34\u0022}},\u0022blockContentID\u0022:\u002200cdbbb9-7ef2-4465-9486-c208a836b0f5\u0022}}],\u0022cosData\u0022:null,\u0022error\u0022:\u0022\u0022,\u0022hreflang\u0022:[{\u0022href\u0022:\u0022https://www.uber.com/ae/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-ae\u0022},{\u0022href\u0022:\u0022https://www.uber.com/sv/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-sv\u0022},{\u0022href\u0022:\u0022https://www.uber.com/hu/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-hu\u0022},{\u0022href\u0022:\u0022https://www.uber.com/lt/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-lt\u0022},{\u0022href\u0022:\u0022https://www.uber.com/au/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-au\u0022},{\u0022href\u0022:\u0022https://www.uber.com/pt/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-pt\u0022},{\u0022href\u0022:\u0022https://www.uber.com/il/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-il\u0022},{\u0022href\u0022:\u0022https://www.uber.com/qa/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-qa\u0022},{\u0022href\u0022:\u0022https://www.uber.com/bd/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-bd\u0022},{\u0022href\u0022:\u0022https://www.uber.com/gr/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-gr\u0022},{\u0022href\u0022:\u0022https://www.uber.com/tw/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-tw\u0022},{\u0022href\u0022:\u0022https://www.uber.com/gb/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-gb\u0022},{\u0022href\u0022:\u0022https://www.uber.com/co/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-co\u0022},{\u0022href\u0022:\u0022https://www.uber.com/ec/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-ec\u0022},{\u0022href\u0022:\u0022https://www.uber.com/bh/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-bh\u0022},{\u0022href\u0022:\u0022https://www.uber.com/kr/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-kr\u0022},{\u0022href\u0022:\u0022https://www.uber.com/pk/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-pk\u0022},{\u0022href\u0022:\u0022https://www.uber.com/ie/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-ie\u0022},{\u0022href\u0022:\u0022https://www.uber.com/dk/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-dk\u0022},{\u0022href\u0022:\u0022https://www.uber.com/py/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-py\u0022},{\u0022href\u0022:\u0022https://www.uber.com/jo/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-jo\u0022},{\u0022href\u0022:\u0022https://www.uber.com/sk/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-sk\u0022},{\u0022href\u0022:\u0022https://www.uber.com/ca/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-ca\u0022},{\u0022href\u0022:\u0022https://www.uber.com/gh/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-gh\u0022},{\u0022href\u0022:\u0022https://www.uber.com/nl/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-nl\u0022},{\u0022href\u0022:\u0022https://www.uber.com/uy/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-uy\u0022},{\u0022href\u0022:\u0022https://www.uber.com/ci/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-ci\u0022},{\u0022href\u0022:\u0022https://www.uber.com/at/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-at\u0022},{\u0022href\u0022:\u0022https://www.uber.com/za/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-za\u0022},{\u0022href\u0022:\u0022https://www.uber.com/fr/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-fr\u0022},{\u0022href\u0022:\u0022https://www.uber.com/ug/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-ug\u0022},{\u0022href\u0022:\u0022https://www.uber.com/no/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-no\u0022},{\u0022href\u0022:\u0022https://www.uber.com/cr/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-cr\u0022},{\u0022href\u0022:\u0022https://www.uber.com/tr/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-tr\u0022},{\u0022href\u0022:\u0022https://www.uber.com/fi/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-fi\u0022},{\u0022href\u0022:\u0022https://www.uber.com/in/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-in\u0022},{\u0022href\u0022:\u0022https://www.uber.com/es/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-es\u0022},{\u0022href\u0022:\u0022https://www.uber.com/mt/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-mt\u0022},{\u0022href\u0022:\u0022https://www.uber.com/kw/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-kw\u0022},{\u0022href\u0022:\u0022https://www.uber.com/lu/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-lu\u0022},{\u0022href\u0022:\u0022https://www.uber.com/pe/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-pe\u0022},{\u0022href\u0022:\u0022https://www.uber.com/jp/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-jp\u0022},{\u0022href\u0022:\u0022https://www.uber.com/be/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-be\u0022},{\u0022href\u0022:\u0022https://www.uber.com/sa/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-sa\u0022},{\u0022href\u0022:\u0022https://www.uber.com/br/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-br\u0022},{\u0022href\u0022:\u0022https://www.uber.com/se/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-se\u0022},{\u0022href\u0022:\u0022https://www.uber.com/hk/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-hk\u0022},{\u0022href\u0022:\u0022https://www.uber.com/ch/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-ch\u0022},{\u0022href\u0022:\u0022https://www.uber.com/mx/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-mx\u0022},{\u0022href\u0022:\u0022https://www.uber.com/gt/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-gt\u0022},{\u0022href\u0022:\u0022https://www.uber.com/si/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-si\u0022},{\u0022href\u0022:\u0022https://www.uber.com/hr/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-hr\u0022},{\u0022href\u0022:\u0022https://www.uber.com/do/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-do\u0022},{\u0022href\u0022:\u0022https://www.uber.com/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-us\u0022},{\u0022href\u0022:\u0022https://www.uber.com/eg/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-eg\u0022},{\u0022href\u0022:\u0022https://www.uber.com/iq/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-iq\u0022},{\u0022href\u0022:\u0022https://www.uber.com/ma/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-ma\u0022},{\u0022href\u0022:\u0022https://www.uber.com/jm/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-jm\u0022},{\u0022href\u0022:\u0022https://www.uber.com/pa/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-pa\u0022},{\u0022href\u0022:\u0022https://www.uber.com/ke/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-ke\u0022},{\u0022href\u0022:\u0022https://www.uber.com/nz/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-nz\u0022},{\u0022href\u0022:\u0022https://www.uber.com/rs/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-rs\u0022},{\u0022href\u0022:\u0022https://www.uber.com/bg/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-bg\u0022},{\u0022href\u0022:\u0022https://www.uber.com/ua/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-ua\u0022},{\u0022href\u0022:\u0022https://www.uber.com/hn/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-hn\u0022},{\u0022href\u0022:\u0022https://www.uber.com/lk/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-lk\u0022},{\u0022href\u0022:\u0022https://www.uber.com/it/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-it\u0022},{\u0022href\u0022:\u0022https://www.uber.com/cl/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-cl\u0022},{\u0022href\u0022:\u0022https://www.uber.com/pl/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-pl\u0022},{\u0022href\u0022:\u0022https://www.uber.com/de/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-de\u0022},{\u0022href\u0022:\u0022https://www.uber.com/ee/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-ee\u0022},{\u0022href\u0022:\u0022https://www.uber.com/cz/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-cz\u0022},{\u0022href\u0022:\u0022https://www.uber.com/ng/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-ng\u0022},{\u0022href\u0022:\u0022https://www.uber.com/tz/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-tz\u0022},{\u0022href\u0022:\u0022https://www.uber.com/ro/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-ro\u0022},{\u0022href\u0022:\u0022https://www.uber.com/lb/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-lb\u0022},{\u0022href\u0022:\u0022https://www.uber.com/mo/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022hreflang\u0022:\u0022en-mo\u0022}],\u0022isLoading\u0022:false,\u0022page\u0022:{\u0022isLive\u0022:true,\u0022publishedAt\u0022:\u00222026-04-20T17:21:25.1Z\u0022,\u0022updatedAt\u0022:\u00222026-04-20T17:23:35.226802Z\u0022},\u0022seo\u0022:{\u0022canonical\u0022:\u0022https://www.uber.com/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022description\u0022:\u0022🧠 Overload in stateful databases isn’t one-dimensional. See how we built an intelligent load manager that sheds smarter, adapts to diverse signals, and stays fair under pressure. Even better, this approach led to a ~70%25 reduction in P99 latency.\u0022,\u0022googlePlayAppID\u0022:\u0022com.ubercab\u0022,\u0022iPadAppID\u0022:\u0022368677368\u0022,\u0022iPhoneAppID\u0022:\u0022368677368\u0022,\u0022noIndex\u0022:false,\u0022ogDescription\u0022:\u0022🧠 Overload in stateful databases isn’t one-dimensional. See how we built an intelligent load manager that sheds smarter, adapts to diverse signals, and stays fair under pressure. Even better, this approach led to a ~70%25 reduction in P99 latency.\u0022,\u0022ogImageURL\u0022:\u0022https://tb-static.uber.com/prod/udam-assets/94f73de9-13eb-58b9-a343-11e2ae1f0c94.jpg\u0022,\u0022ogSiteName\u0022:\u0022Uber\u0022,\u0022ogTitle\u0022:\u0022How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management\u0022,\u0022ogType\u0022:\u0022website\u0022,\u0022ogURL\u0022:\u0022\u0022,\u0022title\u0022:\u0022How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management\u0022,\u0022twitterCard\u0022:\u0022summary\u0022,\u0022twitterSite\u0022:\u0022@Uber\u0022},\u0022template\u0022:{\u0022autoLinkingEnabled\u0022:false,\u0022createdAt\u0022:\u00222026-03-29T22:36:45.789Z\u0022,\u0022id\u0022:\u0022c59976fe-3205-4d8f-a80d-ac05c0fae6d0\u0022,\u0022isCountryVariant\u0022:true,\u0022isDynamicTemplate\u0022:false,\u0022name\u0022:\u0022How Uber Conquered Database Overload: The Journey from Static Rate-Limiting to Intelligent Load Management\u0022,\u0022namespace\u0022:\u0022blog\u0022,\u0022pageElements\u0022:[{\u0022louvreBlock\u0022:{\u0022blockID\u0022:\u0022s_n_page_9_b_4_b_a.46435f9ef8c646ddb7225d5a12f97103\u0022},\u0022type\u0022:\u0022LOUVRE_BLOCK\u0022},{\u0022louvreBlock\u0022:{\u0022blockID\u0022:\u0022from-static-rate-limiting-to-intelligent-load-management.9f05dd8dacd34244833446471dc5e751\u0022},\u0022type\u0022:\u0022LOUVRE_BLOCK\u0022},{\u0022louvreBlock\u0022:{\u0022blockID\u0022:\u0022from-static-rate-limiting-to-intelligent-load-management.06e83e0ac54d477cb5881b184aa20c0e\u0022},\u0022type\u0022:\u0022LOUVRE_BLOCK\u0022},{\u0022louvreBlock\u0022:{\u0022blockID\u0022:\u0022from-static-rate-limiting-to-intelligent-load-management.8b9d273403be48c8b9ac9bf48390e9ef\u0022},\u0022type\u0022:\u0022LOUVRE_BLOCK\u0022},{\u0022louvreBlock\u0022:{\u0022blockID\u0022:\u0022from-static-rate-limiting-to-intelligent-load-management.d77a2309974e4e31872211b400a2f378\u0022},\u0022type\u0022:\u0022LOUVRE_BLOCK\u0022},{\u0022louvreBlock\u0022:{\u0022blockID\u0022:\u0022from-static-rate-limiting-to-intelligent-load-management.1ba04f73eb5448439681577801d1f0a1\u0022},\u0022type\u0022:\u0022LOUVRE_BLOCK\u0022},{\u0022louvreBlock\u0022:{\u0022blockID\u0022:\u0022s_n_page_4_9_4_a_1.65af07cdc047499b92da74f1c4fb0ea7\u0022},\u0022type\u0022:\u0022LOUVRE_BLOCK\u0022}],\u0022publishedTemplateVariables\u0022:\u0022\u0022,\u0022slug\u0022:\u0022from-static-rate-limiting-to-intelligent-load-management\u0022,\u0022slugIsVariable\u0022:false,\u0022supportedLocalesByCountry\u0022:{\u0022AE\u0022:[\u0022en\u0022],\u0022AT\u0022:[\u0022en\u0022],\u0022AU\u0022:[\u0022en-AU\u0022],\u0022BD\u0022:[\u0022en\u0022],\u0022BE\u0022:[\u0022en\u0022],\u0022BG\u0022:[\u0022en\u0022],\u0022BH\u0022:[\u0022en\u0022],\u0022BR\u0022:[\u0022en\u0022],\u0022CA\u0022:[\u0022en\u0022],\u0022CH\u0022:[\u0022en\u0022],\u0022CI\u0022:[\u0022en\u0022],\u0022CL\u0022:[\u0022en\u0022],\u0022CO\u0022:[\u0022en\u0022],\u0022CR\u0022:[\u0022en\u0022],\u0022CZ\u0022:[\u0022en\u0022],\u0022DE\u0022:[\u0022en\u0022],\u0022DK\u0022:[\u0022en\u0022],\u0022DO\u0022:[\u0022en\u0022],\u0022EC\u0022:[\u0022en\u0022],\u0022EE\u0022:[\u0022en\u0022],\u0022EG\u0022:[\u0022en\u0022],\u0022ES\u0022:[\u0022en\u0022],\u0022FI\u0022:[\u0022en\u0022],\u0022FR\u0022:[\u0022en\u0022],\u0022GB\u0022:[\u0022en-GB\u0022],\u0022GH\u0022:[\u0022en\u0022],\u0022GR\u0022:[\u0022en\u0022],\u0022GT\u0022:[\u0022en\u0022],\u0022HK\u0022:[\u0022en\u0022],\u0022HN\u0022:[\u0022en\u0022],\u0022HR\u0022:[\u0022en\u0022],\u0022HU\u0022:[\u0022en\u0022],\u0022IE\u0022:[\u0022en\u0022],\u0022IL\u0022:[\u0022en\u0022],\u0022IN\u0022:[\u0022en\u0022],\u0022IQ\u0022:[\u0022en\u0022],\u0022IT\u0022:[\u0022en\u0022],\u0022JM\u0022:[\u0022en\u0022],\u0022JO\u0022:[\u0022en\u0022],\u0022JP\u0022:[\u0022en\u0022],\u0022KE\u0022:[\u0022en\u0022],\u0022KR\u0022:[\u0022en\u0022],\u0022KW\u0022:[\u0022en\u0022],\u0022LB\u0022:[\u0022en\u0022],\u0022LK\u0022:[\u0022en\u0022],\u0022LT\u0022:[\u0022en\u0022],\u0022LU\u0022:[\u0022en\u0022],\u0022MA\u0022:[\u0022en\u0022],\u0022MO\u0022:[\u0022en\u0022],\u0022MT\u0022:[\u0022en\u0022],\u0022MX\u0022:[\u0022en\u0022],\u0022NG\u0022:[\u0022en\u0022],\u0022NL\u0022:[\u0022en\u0022],\u0022NO\u0022:[\u0022en\u0022],\u0022NZ\u0022:[\u0022en-AU\u0022],\u0022PA\u0022:[\u0022en\u0022],\u0022PE\u0022:[\u0022en\u0022],\u0022PK\u0022:[\u0022en\u0022],\u0022PL\u0022:[\u0022en\u0022],\u0022PT\u0022:[\u0022en\u0022],\u0022PY\u0022:[\u0022en\u0022],\u0022QA\u0022:[\u0022en\u0022],\u0022RO\u0022:[\u0022en\u0022],\u0022RS\u0022:[\u0022en\u0022],\u0022SA\u0022:[\u0022en\u0022],\u0022SE\u0022:[\u0022en\u0022],\u0022SI\u0022:[\u0022en\u0022],\u0022SK\u0022:[\u0022en\u0022],\u0022SV\u0022:[\u0022en\u0022],\u0022TR\u0022:[\u0022en\u0022],\u0022TW\u0022:[\u0022en\u0022],\u0022TZ\u0022:[\u0022en\u0022],\u0022UA\u0022:[\u0022en\u0022],\u0022UG\u0022:[\u0022en\u0022],\u0022US\u0022:[\u0022en\u0022],\u0022UY\u0022:[\u0022en\u0022],\u0022ZA\u0022:[\u0022en\u0022]},\u0022updatedAt\u0022:\u00222026-05-21T01:02:36.796Z\u0022,\u0022parentID\u0022:\u002209273526-f4e8-4ed4-a975-efc8555ecb81\u0022},\u0022xpBlockKeys\u0022:[]}}},\u0022routes\u0022:{\u0022host\u0022:\u0022www.uber.com\u0022,\u0022location\u0022:{\u0022pathname\u0022:\u0022/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022},\u0022namespace\u0022:\u0022blog\u0022,\u0022originalHost\u0022:\u0022www.uber.com\u0022,\u0022protocol\u0022:\u0022https\u0022},\u0022travel\u0022:{\u0022routeScheduleData\u0022:{\u0022departureOptionsError\u0022:null,\u0022departureOptionsStatus\u0022:\u0022PENDING\u0022,\u0022searchLocationError\u0022:null,\u0022searchLocationStatus\u0022:\u0022PENDING\u0022}}}
</script>
<script type="application/json" id="__APM__">
{\u0022pageLoadUuid\u0022:\u00226c773539-6601-44ee-abb5-0bd90ea581ce\u0022,\u0022meta\u0022:{}}
</script>
<script id="__ROUTER_DATA__" type="application/json">
{\u0022page\u0022:\u0022/us/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022,\u0022title\u0022:\u0022*\u0022,\u0022params\u0022:{\u0022*\u0022:\u0022us/en/blog/from-static-rate-limiting-to-intelligent-load-management/\u0022},\u0022routePath\u0022:\u0022*\u0022,\u0022routeMatched\u0022:true}
</script>
<script type="application/json" id="__FUSION_PLUGIN_PARAMETERS__">
{\u0022parameters\u0022:{}}
</script>
</body></html>