Input Data Messages (IDM)
Decentralized communication on Ethereum.
Filter by:
More than 100,000 found

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x5cda9b6bc5401df775290b77c4fe504d0ce40328f80f97ba1e5b32137001d835 May-05-2025 11:39:23 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x75f2d4cdb20261a0c28ea3478235e692adeaa5e1347df6edc597fef0d6e2461c May-05-2025 11:39:23 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x0f00154b9ea6dcee87a47f982533f1f796ae5ec93f84e7c6b663fb099042e5dc May-05-2025 11:39:23 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x71d13661bb888aadac09a3b12fb5a730c0c8809bd48595eaf18b3822b074803c May-05-2025 11:39:23 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0xbdae5066f9d03e341b0e8a207ea0c79aa2aa6b38924f422b4fbae01b090f6d12 May-05-2025 11:39:23 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x0ab5e1e52043cfb60ae967baed44b996f8ccc043c50b801912e641cc6f513c31 May-05-2025 11:39:23 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0xf1bb0bd1702b2b6ba1550fd887e93cbaeba03db046f31f178eb763bcf2149cc6 May-05-2025 11:39:23 PM UTC (78 days ago)

data:text/html;base64,PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbiI+DQo8aGVhZD4NCiAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPg0KICA8dGl0bGU+UEhBU0UgMiBQVVJSTUlOQVRPUlMgLSBCWSBNRVRBOC5FVEg8L3RpdGxlPg0KICA8c3R5bGU+DQogICAgaHRtbCwgYm9keSB7IG1hcmdpbjogMDsgYmFja2dyb3VuZDogIzAwMDsgaGVpZ2h0OiAxMDB2aDsgZGlzcGxheTogZmxleDsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0NCiAgICAjdmlld2VyQ29udGFpbmVyIHsgcG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogNDAwcHg7IGhlaWdodDogNDAwcHg7IG92ZXJmbG93OiBoaWRkZW47IH0NCiAgICBjYW52YXMgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgd2lkdGg6IDQwMHB4OyBoZWlnaHQ6IDQwMHB4OyBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZDsgfQ0KICAgIGJ1dHRvbiwgYSB7DQogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IGZvbnQtc2l6ZTogMjBweDsgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjcpOyBjb2xvcjogI2MzZmYwMDsgYm9yZGVyOiAxcHggc29saWQgIzQwMDsNCiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsgcGFkZGluZzogNHB4IDhweDsgY3Vyc29yOiBwb2ludGVyOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgfQ0KICAgICNnZWFyQnV0dG9uIHsgdG9wOiAyMHB4OyBsZWZ0OiAyMHB4OyB9DQogICAgI0lEICAgICAgICB7IHRvcDogMjBweDsgbGVmdDogNjBweDsgfQ0KICAgICNtZWx0QnRuICAgeyB0b3A6IDIwcHg7IGxlZnQ6IDMwMHB4OyB9DQogICAgI3JlZm9ybUJ0biB7IHRvcDogMjBweDsgbGVmdDogMzUwcHg7IH0NCiAgICAjYmdMaW5rICAgIHsgYm90dG9tOiAyMHB4OyBsZWZ0OiAxMHB4OyB9DQogICAgI3NldHRpbmdzUGFuZWwgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNDVweDsgbGVmdDogMTBweDsgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjgpOyBjb2xvcjogd2hpdGU7IHBhZGRpbmc6IDEwcHg7IGRpc3BsYXk6IG5vbmU7IHotaW5kZXg6IDEwOyB9DQogICAgI3NldHRpbmdzUGFuZWwgbGFiZWwsICNzZXR0aW5nc1BhbmVsIHNlbGVjdCB7IGRpc3BsYXk6IGJsb2NrOyBtYXJnaW4tYm90dG9tOiA4cHg7IH0NCiAgICAgIGlmcmFtZSB7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6MDsgbGVmdDowOyB3aWR0aDo0MDBweDsgaGVpZ2h0OjQwMHB4OyBib3JkZXI6bm9uZTsgfQ0KICA8L3N0eWxlPg0KICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS93ZWIzL2Rpc3Qvd2ViMy5taW4uanMiPjwvc2NyaXB0Pg0KPC9oZWFkPg0KPGJvZHk+DQogIDxkaXYgaWQ9InZpZXdlckNvbnRhaW5lciI+DQogICAgPGNhbnZhcyBpZD0ibWFpbkNhbnZhcyIgd2lkdGg9IjQwMCIgaGVpZ2h0PSI0MDAiPjwvY2FudmFzPg0KICAgIDxjYW52YXMgaWQ9Im1lbHRDYW52YXMiIHdpZHRoPSI0MDAiIGhlaWdodD0iNDAwIiBzdHlsZT0iZGlzcGxheTpub25lOyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6MDsgcG9pbnRlci1ldmVudHM6bm9uZTsgaW1hZ2UtcmVuZGVyaW5nOnBpeGVsYXRlZDsiPjwvY2FudmFzPg0KICAgIDxidXR0b24gaWQ9ImdlYXJCdXR0b24iPuKame+4jzwvYnV0dG9uPg0KICAgIDxidXR0b24gaWQ9IklEIj4jMjY8L2J1dHRvbj4NCiAgICA8YnV0dG9uIGlkPSJtZWx0QnRuIj7wn46oPC9idXR0b24+DQogICAgPGJ1dHRvbiBpZD0icmVmb3JtQnRuIiBkaXNhYmxlZD7wn5SEPC9idXR0b24+DQogICAgPGEgaWQ9ImJnTGluayIgaHJlZj0iIyIgdGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij7wn5SXIEJhY2tncm91bmQ8L2E+DQogICAgPGRpdiBpZD0ic2V0dGluZ3NQYW5lbCI+DQogICAgICA8bGFiZWw+QmFja2dyb3VuZDoNCiAgICAgICAgPHNlbGVjdCBpZD0iYmdTZWxlY3QiPjwvc2VsZWN0Pg0KICAgICAgPC9sYWJlbD4NCiAgICAgIDxsYWJlbD5Ta2VsZXRvbjoNCiAgICAgICAgPHNlbGVjdCBpZD0ic2tlbFNlbGVjdCI+PC9zZWxlY3Q+DQogICAgICA8L2xhYmVsPg0KICAgICAgPGxhYmVsPkV5ZXdlYXI6DQogICAgICAgIDxzZWxlY3QgaWQ9ImV5ZVNlbGVjdCI+PC9zZWxlY3Q+DQogICAgICA8L2xhYmVsPg0KICAgIDwvZGl2Pg0KICA8L2Rpdj4NCjxzY3JpcHQ+DQovLyAtLS0gQ09ORklHICYgR0xPQkFMUyAtLS0NCmNvbnN0IFNJWkUgPSA0MDA7DQoNCmNvbnN0IElORlVSQV9VUkwgPSAiaHR0cHM6Ly9tYWlubmV0LmluZnVyYS5pby92My8zMzBjMWFjMTVmYzc0ODNiOGQ5YjZmMjI5OTM4ZDg0MyI7DQpsZXQgd2ViMzsNCmxldCBtYWluQ2FudmFzLCBtYWluQ3R4LCBtZWx0Q2FudmFzLCBtZWx0Q3R4Ow0KbGV0IGJhY2tncm91bmRMYXllciA9IG51bGwsIHNrZWxldG9uTGF5ZXIgPSBudWxsLCBleWV3ZWFyTGF5ZXIgPSBudWxsOw0KbGV0IHBhcnRpY2xlcyA9IFtdLCBhY3RpdmUgPSBmYWxzZSwgbW9kZSA9ICJub25lIjsNCmxldCBsYXN0VFMgPSAwLCB0R2xvYmFsID0gMCwgZ2VvbVRpbWVyOw0KDQoNCmNvbnN0IEJBQ0tHUk9VTkRfT1BUSU9OUyA9IHsNCiAgQ3lwdXJyZHluZToiMHhkMWRlYTUxNTdlYzA0Mjk4YWQ3MTkzNzRhMDIwMjUwOGFiYjY1ZmQ0ZGJiZjVhMjM5YTM2MjM0ZmIzYmI0N2IwIiwNCiAgQ2hlY2tlcjoiMHhkYjQ0ZDBkMmY2NWMzMjA3YWVkOGMyMWI0NWYwYTVlNjQ2ZmY1NzIxM2VkNzQwZTE5ZjA4Y2IwNzg0MWRhZjllIiwNCiAgRnVzaW9uOiIweDA0ZDQzNTMwYzdkYmQ3MDQ5YTZhMGViMWI5NzE3Y2Q3ODRhZjgzMTE0ZTQ5Mzk1ZDQwODU4ZmVhNjUyZjZlZmQiLA0KICBNYXRyaXg6IjB4Mzk1OWFkOTMwMGY3MjIwNDViNTEyYWM2NTRkZDY0MjYxNDIwOWFjMTJlNzQ2NjVkOTIyNzgxNzFiMDY0MTE4OSIsDQogIFNwYWNlOiIweGJmY2U2ZWYzY2QyZGQyM2ExNDUwMzlhYjFiMGQ1ZTY4OTBhNDNmOWY1ODBjOGNlYjI1M2QwZWE3OGYwNTI5NjgiLA0KICBGaW5lOiIweDEzZDkwMjNhYzkzMzMxMzk3MWE4ODk1N2E5OTUzY2Y0M2FmZDAyYmFiNTU2OWNmMTAzZjI2ZDNhOTZiYzk4MzIiLA0KICBGdXJuYWNlOiIweDgyMGI2YzJiYTMyZTg3ZDlmYjRhYjZjYmY4OTE4YmViZDQzNjcyOWYyYTc5YmVjMjgxZjQwMjYwN2NkZjAyZTUiLA0KICBDb21teTogIjB4OWVhOWU3ODRiODBjMzg1NTRjYWU3NGE0NWZjYjYyZGZmMDg5ZGFjODgyZTIzOTMwZWY5OThhNDVlMWFlOTliZSIsDQogIE1mcHVycnM6ICIweDdiM2YxNzIyZDVkMWViZjdlYTI5YTkzN2YyZWQ5YWFlNTAxZTRjZTU0ZTgwMmUzYmNjM2FiZjRjMzlkNzc2MGQiLA0KICBHbG9rOiAiMHgwZjJhNTNkYTUxNGIzYTU4OWNiYWYzNjA3ZjE1ZGEyOGI0NTA2MTVhOWFiY2JkNGNhMjEyM2Y1YWRiYmQ2ZDU2IiwNCiAgQWRhbTogIjB4N2ZiOGQxMDQ2ZTc3OTllNTEzMjAxZWU4ZWMyYTE5MDRjYTJlMDZjN2ZjZTJhYmU0ODhhNzg3MGZlMmUzMjE5ZCIsDQogIFFSOiAiMHhmZWU4Y2ZkODUyZjczNzlmYTgwM2FlNDZlNzNlM2M3OTZiYzE2Yzg2MjkxYTNlYWIxMmZhMDBiYjI0MTRiZTE3IiwNCiAgRW5jaXBoZXI6ICIweGIxYmRiOTFmMDEwYzE1NGRkMDRlNWMxMWE2Mjk4ZTkxNDcyYzI3YTM0N2I3NzA2ODQ5ODE4NzNhNjQwOGMxMWMiLA0KICBTdGFyc2hpcDogIjB4MmVhNWQyMmY2NTZhMjc4MGIxYTY5MDZjNzFiYWNkYWRiNDE5ZjcyZDVmYzc5Zjk5YTFjNmYxNGZhYThjYjdhOCIsDQogIEhvbWVyOiAiMHhhZWIyNGIxMWQ5ZDkzZGEzODIwMWI4N2M2ZWE4NjkyZDA4YjZmNzgwY2UzOGMwODE1MmM0N2Q2MDQ3NWI5NWM5IiwNCiAgUGVwZWlzbGFuZDogIjB4ZTNkY2VjZGUyMjExYjg3ZGM3YmRjNDg4YTkwMzI3MDFhMWFmZDA0ZDJhN2JmOWVmMDRkNzZiYmE5NWI1OTM4YSIsDQogIE55YW46ICIweGVjNjg4NmIzZWE5NDMwZTE1N2EyZjJiOWVlMWM4ZDZjMzFjZjczYWJhYjdmYmNjMDkwMTRiMDM3M2ZjMGMwNDUiLA0KICBOeWFuMjogIjB4NzJjOWVhMTNlYjEyMDMwYmE3ZmM0ODFiNDFiMDNhZGQwMGVkNWExOTBlNTQ3MjBjNWQ0Y2MyZmI3ZWZiN2IxMyIsDQogIEJlZXBsZTogIjB4NDcyZGUzODYxYzE0MmVjZjM1ZTIxOGNhODIxYzQxY2YwYjUyNTQzZTQ4NjQ0OTFmY2IxZTllYjY5OTg3N2VkOCIsDQogIFN3aXJseTogIjB4MTQxMDYyZTZhMWI5NmQ4NTRmNDViODE3MjUwYTE3NTJhZTkzYmJmMDFjMWJkMWVhY2VmNDU4NzY0NzNkZmE5MCIsDQogIENyRVRIdHVyZTI6ICIweDBhNTE2ZWMwMzk0MDQ4OWQyMDBlNWY3ODBiNzkwYzkxZjA3NDI1ODk3NDM3YjFhNGMzYmNjOGUwNDNlZjFhNTEiLA0KICBHYW1lYm95OiIweGUyZDkxNzIwYWJkNDFmMzRiNzM5NDYyMzA3OWFlYjg5MWM5MTc5MTEzMGY2YTk2Zjc3YTQ1OTUxOTUyYjk1MjEiDQp9Ow0KY29uc3QgU0tFTEVUT05fT1BUSU9OUyA9IHsNCiAgbm9uZTpudWxsLA0KICBNZXRhbDoiMHhmZWY4ZjUxNzZlODM0YThlOGQwYmI3NDJiMTIwN2Y5NjVmNmE5Y2U5ZmY1YzE3MjU3OWZhYzhiNzJlMGUzOGEzIiwNCiAgR29sZDoiMHgyOGNjOWNlNTAyZDZmOTlhMzQ5NDkyNzEzMzRhN2NlMmZiMzAwOGY1MmM4MTliN2I5YmU2MWNiMDhhYmRkOThkIiwNCiAgU2tlbGV0b246IjB4MWI0YjhkYzIwZTQwMmI5NjExMDE3YjExOTRlZTg2Yzc0ZmU0NTA2NTdlZTQyNWE2Zjg3Mjg4YTAzY2I4ZjQ3NCIsDQogIENoZWNrOiIweDU2ZGVkM2NjMTQzZTViMjUxYTQ3ZTQ3N2ZmOTdmMzUwODcwZjcwM2I4MWM2YTMxYjlhM2FiZDM3MDc1MjdjZTYiLA0KICBHaG9zdDoiMHgyNDIwZmRkZWUzNDRjM2FhNDY5N2Y5MmVlYjk2ZjdmZjgwMTQ0ZTA5Y2IxOGJhMzQ1NzQ0ZGI4MjVjNWEwODRiIiwNCiAgVDgwMDoiMHg2OTA0YmExOGVhYzUyM2ViZTgwOGU5MDg4YzY3NjBiOTdlMWUwMWJiNGU0MzEzMTcxNjZjY2EwM2ZkY2M0NDE0IiwNCiAgRmx1cm86IjB4OTU4NTQxM2E2YmZmM2QzZWM2YzZlNTYxMzJiNGRiOTMwNzUzMDkzYjAyODMyOTRjOWY5NzVlMzBjZTU2YTA0NyIsDQogIE1FR0E6ICIweDI5ZWM2NzA0OTIyYjQ3YzE1Y2I3NmZmMzk1YTQ1MDU1ODY0MjkzMTQ1MWVlMDA0NTNhNDE4MjA4OGM0MDhlZGEiLA0KICBSZXRhcmRlZDogIjB4MGNhYzYyM2ExNjgxMjFjZGU4NmExNzVhNjg1OTZmYjg3YWFhN2RkYjY0ODljZTUyNjZjMzEyYjIxZjA4ZDhkMCIsDQogIFpvbWJpZTogIjB4N2YxMjcyNTk1NGZlZTQ4Y2M2NTQyMTczYjY4MmZhNTQyMzcwYTE0ODg4ZWY2MDQxYmM1NDVhYmM5ZDBiZTdiNiIsDQogIENyRVRIdHVyZTogIjB4YTgyZmI0Zjc4NDQwMGE2ZDI5OGM3NzY0MmU4YmUzOTU2OGE2ZmEzMGUwMmNkNTAzNGZkYzJjNzI1ZjAyZTQ0NiINCg0KfTsNCmNvbnN0IEVZRVdFQVJfT1BUSU9OUyA9IHsNCiAgbm9uZTpudWxsLA0KICBQaXR0OiIweDM3MTZkMzU5NmMxNzE3Mzg4NGFlZGIyMzAxYzE3NTFkOTVhNTg4MjgxNGViNTYzNmVmMTgwNDE1M2M4MDdjMzciLA0KICBUaXJlZDoiMHhlYzg0OTM3OWVhNzZmODNhOWQ1YTU3MzVlMzIwY2I1OWJlOTJmYmYxYmFhNzNlYmUyZWFkYzc0Njk3OGE4MzQ1IiwNCiAgTm91bjoiMHg3YzA0ZmQzZWVlYTlmY2Y5NTNmM2EwY2VmMDU3ODcwYTFhMzU1MWY0MDYwNzhkZGYwNzFkOGI3YTVjOTRmNzllIiwNCiAgTmVyZGdvZ2dsZXM6IjB4OWJkODJkN2RjNjJkNzIxZTE3MTMwN2VkY2MyMmJlYTdmNDRhZGUyNjNiMjQ3NTdmN2EwN2NkYjA0ODE4MzBjNCIsDQogIE1vcnBoZXVzOiIweGIzNWJlMmJhZTBhNTJmOTQ4ZGM3YTgzODdlYzlkZTFlNTlmNTUwMzUzNTk4YjliMTc3ZDY5OTVmZGRiOTEyY2YiLA0KICBEZWFsd2l0aGl0OiIweGQwMmU5MDM0NmVmZGNjZjVmMDFiNzJkYTg5MmZkODY2ODBlMzVmZWMyY2U5YzkyYThkZTgyMDM3MTllMmMzNDgiLA0KICBWUjoiMHgwZDY3N2NlNmU2YjZlMmM4NmU0MGRiYWYxMTJhYzY4N2FiMzdjMjk2ZjYzZGU4MTAwM2I3MDYwMDM5MjE3ZjdlIiwNCiAgQmx1ZW5vdW46IjB4ZDIyYzZmYmE5Y2M1YjBhMTM3MmJhYTQzMzE2NDMxNmVjMTJmYTJmM2M1YjliODczYWUwYTM2ZDUwOTExNzQwNyIsDQogIExhc2VyZXllOiIweDgxN2VjMjQ5N2ViZjk0YzQxZjhjNmVmODAwYjhhYjBmOGMzM2ZkOTk2ZWI5ZjYwNTAyN2Y3MGRhOWUwMjY5NWYiLA0KICBBdmlhdG9yczoiMHg1YzU2ZWRjM2IwNzhjYmM2MDM2MTNjNzI5NmQyMTY1YzI2ZGEzMGZjMDA4ZDhkYWYyYTliYmExNWI4ZWU4ZGY4Ig0KfTsNCg0KLy8gLS0tIEhFTFBFUlMgLS0tDQpjb25zdCBybmQgPSAoaGk9MSwgbG89MCkgPT4gTWF0aC5yYW5kb20oKSAqIChoaSAtIGxvKSArIGxvOw0KY29uc3QgY29sb3VyZWRGYW1pbGllcyA9IFsicmVkIiwib3JhbmdlIiwieWVsbG93IiwiZ3JlZW4iLCJjeWFuIiwiYmx1ZSIsIm1hZ2VudGEiXTsNCmNvbnN0IG5ldXRyYWxGYW1pbGllcyA9IFsid2hpdGUiLCJncmV5IiwiYmxhY2siXTsNCmNvbnN0IGdlb21ldHJ5UG9vbCA9IFsiY2lyY2xlIiwiZmlnOCIsInRyaWFuZ2xlIiwic3F1aXJjbGUiLCJzcGlyYWwiLCJlbGxpcHNlIiwic3RhciIsInNxdWFyZSIsImhleGFnb24iXTsNCmxldCBnZW9tU3RhdGUgPSB7fTsNCg0KZnVuY3Rpb24gbXV0YXRlQWxsR2VvbWV0cmllcygpIHsNCiAgY29sb3VyZWRGYW1pbGllcy5mb3JFYWNoKGYgPT4gew0KICAgIGNvbnN0IHR5cGUgPSBnZW9tZXRyeVBvb2xbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmdlb21ldHJ5UG9vbC5sZW5ndGgpXTsNCiAgICBsZXQgczsNCiAgICBzd2l0Y2godHlwZSkgew0KICAgICAgY2FzZSAiY2lyY2xlIjogcyA9IHsgdHlwZSwgUjogcm5kKDgwLDEyMCksIHNwZWVkOiBybmQoMC4xLDAuMyksIHBoYXNlOiBybmQoMCwyKk1hdGguUEkpIH07IGJyZWFrOw0KICAgICAgY2FzZSAiZmlnOCI6IHMgPSB7IHR5cGUsIFI6IHJuZCg2MCw5MCksIHNwZWVkOiBybmQoMC4xNSwwLjQpLCBwaGFzZTogcm5kKDAsMipNYXRoLlBJKSB9OyBicmVhazsNCiAgICAgIGNhc2UgInRyaWFuZ2xlIjogcyA9IHsgdHlwZSwgUjogcm5kKDcwLDEwMCksIHJvdFNwZWVkOiBybmQoMC4yLDAuNSksIHBoYXNlOiBybmQoMCwyKk1hdGguUEkpIH07IGJyZWFrOw0KICAgICAgY2FzZSAic3F1aXJjbGUiOiBzID0geyB0eXBlLCBSOiBybmQoNjAsMTAwKSwgcm90OiBybmQoMCwyKk1hdGguUEkpIH07IGJyZWFrOw0KICAgICAgY2FzZSAic3BpcmFsIjogcyA9IHsgdHlwZSwgYTogcm5kKDIsNCksIGI6IHJuZCgxLDMpLCByb3RTcGVlZDogcm5kKDAuMTUsMC40KSB9OyBicmVhazsNCiAgICAgIGNhc2UgImVsbGlwc2UiOiBzID0geyB0eXBlLCByeDogcm5kKDYwLDEwMCksIHJ5OiBybmQoNDAsNzApLCB0aWx0OiBybmQoMCwyKk1hdGguUEkpLCBzcGVlZDogcm5kKDAuMTUsMC40KSB9OyBicmVhazsNCiAgICAgIGNhc2UgInN0YXIiOiBzID0geyB0eXBlLCBSOiBybmQoNzAsMTAwKSwgcjogcm5kKDI1LDM1KSwgcm90U3BlZWQ6IHJuZCgwLjIsMC42KSB9OyBicmVhazsNCiAgICAgIGNhc2UgInNxdWFyZSI6IHMgPSB7IHR5cGUsIFM6IHJuZCgxMjAsMTYwKSwgc3BlZWQ6IHJuZCgwLjE1LDAuMzUpLCByb3Q6IHJuZCgwLDIqTWF0aC5QSSkgfTsgYnJlYWs7DQogICAgICBjYXNlICJoZXhhZ29uIjogcyA9IHsgdHlwZSwgUjogcm5kKDg1LDExNSksIHNwZWVkOiBybmQoMC4xNSwwLjM1KSwgcm90OiBybmQoMCwyKk1hdGguUEkpIH07IGJyZWFrOw0KICAgIH0NCiAgICBnZW9tU3RhdGVbZl0gPSBzOw0KICB9KTsNCn0NCg0KZnVuY3Rpb24gZ2VvbVRhcmdldChmYW0sIHQsIGlkeCkgew0KICBjb25zdCBzID0gZ2VvbVN0YXRlW2ZhbV07DQogIGlmICghcykgcmV0dXJuIFtTSVpFLzIsIFNJWkUvMl07DQogIGNvbnN0IGN4ID0gU0laRS8yLCBjeSA9IFNJWkUvMjsNCiAgc3dpdGNoKHMudHlwZSkgew0KICAgIGNhc2UgImNpcmNsZSI6IHsNCiAgICAgIGNvbnN0IGFuZyA9IHQqcy5zcGVlZCArIHMucGhhc2UgKyBpZHgqMC4wMDA4Ow0KICAgICAgcmV0dXJuIFtjeCArIE1hdGguY29zKGFuZykqcy5SLCBjeSArIE1hdGguc2luKGFuZykqcy5SXTsNCiAgICB9DQogICAgY2FzZSAiZmlnOCI6IHsNCiAgICAgIGNvbnN0IGFuZyA9IHQqcy5zcGVlZCArIHMucGhhc2UgKyBpZHgqMC4wMDE7DQogICAgICByZXR1cm4gW2N4ICsgcy5SKk1hdGguc2luKGFuZyksIGN5ICsgcy5SKk1hdGguc2luKGFuZykqTWF0aC5jb3MoYW5nKV07DQogICAgfQ0KICAgIGNhc2UgInRyaWFuZ2xlIjogew0KICAgICAgY29uc3QgYW5nID0gKGlkeCUzKSooMipNYXRoLlBJLzMpICsgcy5waGFzZSArIHQqcy5yb3RTcGVlZDsNCiAgICAgIHJldHVybiBbY3ggKyBNYXRoLmNvcyhhbmcpKnMuUiwgY3kgKyBNYXRoLnNpbihhbmcpKnMuUl07DQogICAgfQ0KICAgIGNhc2UgInNxdWlyY2xlIjogew0KICAgICAgY29uc3QgYW5nID0gdCowLjggKyBzLnJvdCwgbj00Ow0KICAgICAgY29uc3QgeCA9IHMuUipNYXRoLnNpZ24oTWF0aC5jb3MoYW5nKSkqTWF0aC5wb3coTWF0aC5hYnMoTWF0aC5jb3MoYW5nKSksMi9uKTsNCiAgICAgIGNvbnN0IHkgPSBzLlIqTWF0aC5zaWduKE1hdGguc2luKGFuZykpKk1hdGgucG93KE1hdGguYWJzKE1hdGguc2luKGFuZykpLDIvbik7DQogICAgICByZXR1cm4gW2N4K3gsIGN5K3ldOw0KICAgIH0NCiAgICBjYXNlICJzcGlyYWwiOiB7DQogICAgICBjb25zdCBhbmcgPSB0KnMucm90U3BlZWQgKyBpZHgqMC4wMDI7DQogICAgICBjb25zdCByID0gcy5hKk1hdGguZXhwKHMuYiphbmcqMC4wNSk7DQogICAgICByZXR1cm4gW2N4ICsgcipNYXRoLmNvcyhhbmcpLCBjeSArIHIqTWF0aC5zaW4oYW5nKV07DQogICAgfQ0KICAgIGNhc2UgImVsbGlwc2UiOiB7DQogICAgICBjb25zdCBhbmcgPSB0KnMuc3BlZWQgKyBpZHgqMC4wMDE7DQogICAgICBjb25zdCB4ID0gcy5yeCpNYXRoLmNvcyhhbmcpLCB5ID0gcy5yeSpNYXRoLnNpbihhbmcpOw0KICAgICAgY29uc3QgYyA9IE1hdGguY29zKHMudGlsdCksIHNpID0gTWF0aC5zaW4ocy50aWx0KTsNCiAgICAgIHJldHVybiBbY3ggKyB4KmMgLSB5KnNpLCBjeSArIHgqc2kgKyB5KmNdOw0KICAgIH0NCiAgICBjYXNlICJzdGFyIjogew0KICAgICAgY29uc3Qgaz01OyBjb25zdCBhbmcgPSAoaWR4JWspKigyKk1hdGguUEkvaykgKyB0KnMucm90U3BlZWQ7DQogICAgICBjb25zdCByID0gKChpZHglayklMj09PTA/IHMuUjogcy5yKTsNCiAgICAgIHJldHVybiBbY3ggKyBNYXRoLmNvcyhhbmcpKnIsIGN5ICsgTWF0aC5zaW4oYW5nKSpyXTsNCiAgICB9DQogICAgY2FzZSAic3F1YXJlIjogew0KICAgICAgY29uc3QgcGVyID0gKHQqcy5zcGVlZCArIGlkeCowLjAwMDgpJTQ7DQogICAgICBjb25zdCBoYWxmID0gcy5TLzIsIHJvdCA9IHMucm90Ow0KICAgICAgbGV0IGx4LCBseTsNCiAgICAgIGlmKHBlcjwxKXsgbHg9LWhhbGYrcGVyKnMuUzsgbHk9LWhhbGY7IH0NCiAgICAgIGVsc2UgaWYocGVyPDIpeyBseD1oYWxmOyBseT0taGFsZisocGVyLTEpKnMuUzsgfQ0KICAgICAgZWxzZSBpZihwZXI8Myl7IGx4PWhhbGYtKHBlci0yKSpzLlM7IGx5PWhhbGY7IH0NCiAgICAgIGVsc2UgeyBseD0taGFsZjsgbHk9aGFsZi0ocGVyLTMpKnMuUzsgfQ0KICAgICAgY29uc3QgYz1NYXRoLmNvcyhyb3QpLCBzaT1NYXRoLnNpbihyb3QpOw0KICAgICAgcmV0dXJuIFtjeCArIGx4KmMgLSBseSpzaSwgY3kgKyBseCpzaSArIGx5KmNdOw0KICAgIH0NCiAgICBjYXNlICJoZXhhZ29uIjogew0KICAgICAgY29uc3QgcGVyPSh0KnMuc3BlZWQraWR4KjAuMDAwOCklNjsNCiAgICAgIGNvbnN0IGFuZ2xlPXBlcipNYXRoLlBJLzM7DQogICAgICBjb25zdCB2MT1bTWF0aC5jb3MoYW5nbGUpKnMuUiwgTWF0aC5zaW4oYW5nbGUpKnMuUl07DQogICAgICBjb25zdCB2Mj1bTWF0aC5jb3MoYW5nbGUrTWF0aC5QSS8zKSpzLlIsIE1hdGguc2luKGFuZ2xlK01hdGguUEkvMykqcy5SXTsNCiAgICAgIGNvbnN0IGY9cGVyJTE7DQogICAgICBjb25zdCBseD12MVswXSooMS1mKSt2MlswXSpmOw0KICAgICAgY29uc3QgbHk9djFbMV0qKDEtZikrdjJbMV0qZjsNCiAgICAgIGNvbnN0IGM9TWF0aC5jb3Mocy5yb3QpLCBzaT1NYXRoLnNpbihzLnJvdCk7DQogICAgICByZXR1cm4gW2N4K2x4KmMtbHkqc2ksIGN5K2x4KnNpK2x5KmNdOw0KICAgIH0NCiAgfQ0KfQ0KDQpmdW5jdGlvbiByZ2JhVG9GYW1pbHkocixnLGIpew0KICBjb25zdCBNPU1hdGgubWF4KHIsZyxiKS8yNTUsIG09TWF0aC5taW4ocixnLGIpLzI1NSwgZD1NLW0sIEw9KE0rbSkvMjsNCiAgaWYoZDwwLjAxKXsgaWYoTDwwLjE1KSByZXR1cm4gImJsYWNrIjsgaWYoTD4wLjg1KSByZXR1cm4gIndoaXRlIjsgcmV0dXJuICJncmV5IjsgfQ0KICBsZXQgSDsNCiAgaWYoTT09PXIvMjU1KSBIPSgoZy1iKS9kKSU2Ow0KICBlbHNlIGlmKE09PT1nLzI1NSkgSD0oYi1yKS9kKzI7DQogIGVsc2UgSD0oci1nKS9kKzQ7DQogIEgqPTYwOyBpZihIPDApIEgrPTM2MDsNCiAgaWYoSDwyMHx8SD49MzQwKSByZXR1cm4gInJlZCI7DQogIGlmKEg8NDUpIHJldHVybiAib3JhbmdlIjsNCiAgaWYoSDw3MCkgcmV0dXJuICJ5ZWxsb3ciOw0KICBpZihIPDE1MCkgcmV0dXJuICJncmVlbiI7DQogIGlmKEg8MjAwKSByZXR1cm4gImN5YW4iOw0KICBpZihIPDI2MCkgcmV0dXJuICJibHVlIjsNCiAgcmV0dXJuICJtYWdlbnRhIjsNCn0NCg0KLy8gLS0tIFVJICYgTEFZRVJTIC0tLQ0KZnVuY3Rpb24gYWRkT3B0aW9uKGlkLHZhbCl7IGNvbnN0IG9wdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTsgb3B0LnZhbHVlPXZhbDsgb3B0LnRleHRDb250ZW50PXZhbDsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLmFwcGVuZENoaWxkKG9wdCk7IH0NCmZ1bmN0aW9uIHBvcHVsYXRlU2VsZWN0cygpeyBmb3IobGV0IGsgaW4gQkFDS0dST1VORF9PUFRJT05TKSBhZGRPcHRpb24oJ2JnU2VsZWN0JyxrKTsgZm9yKGxldCBrIGluIFNLRUxFVE9OX09QVElPTlMpIGFkZE9wdGlvbignc2tlbFNlbGVjdCcsayk7IGZvcihsZXQgayBpbiBFWUVXRUFSX09QVElPTlMpIGFkZE9wdGlvbignZXllU2VsZWN0JyxrKTsgfQ0KZnVuY3Rpb24gc2V0dXBVSSgpew0KICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZ2VhckJ1dHRvbicpLm9uY2xpY2sgPSAoKT0+eyBjb25zdCBwPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZXR0aW5nc1BhbmVsJyk7IHAuc3R5bGUuZGlzcGxheSA9IHAuc3R5bGUuZGlzcGxheT09PSdibG9jayc/J25vbmUnOidibG9jayc7IH07DQogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdJRCcpLm9uY2xpY2sgPSAoKT0+IGFsZXJ0KCdQSEFTRSAyIFBVUlJNSU5JTkFUT1IgIzI2IGJ5IE1FVEE4LkVUSCcpOw0KICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVsdEJ0bicpLm9uY2xpY2sgPSBzdGFydE1lbHQ7DQogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZWZvcm1CdG4nKS5vbmNsaWNrID0gc3RhcnRSZWZvcm07DQogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiZ1NlbGVjdCcpLm9uY2hhbmdlID0gcmVsb2FkTGF5ZXJzOw0KICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2tlbFNlbGVjdCcpLm9uY2hhbmdlID0gcmVsb2FkTGF5ZXJzOw0KICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZXllU2VsZWN0Jykub25jaGFuZ2UgPSByZWxvYWRMYXllcnM7DQp9DQphc3luYyBmdW5jdGlvbiBmZXRjaExheWVyKGhhc2gpeyBpZighaGFzaCkgcmV0dXJuIG51bGw7IGNvbnN0IHR4PWF3YWl0IHdlYjMuZXRoLmdldFRyYW5zYWN0aW9uKGhhc2gpOyBjb25zdCByYXc9dHguaW5wdXQuc2xpY2UoMik7IGNvbnN0IGRlYz1uZXcgVGV4dERlY29kZXIoKS5kZWNvZGUobmV3IFVpbnQ4QXJyYXkod2ViMy51dGlscy5oZXhUb0J5dGVzKHJhdykpKTsgY29uc3QgbT1kZWMubWF0Y2goL2RhdGE6aW1hZ2VcL1teO10rO2Jhc2U2NCxbQS1aYS16MC05Ky89XSsvKTsgaWYoIW0pIHJldHVybiBudWxsOyBjb25zdCBpbWc9bmV3IEltYWdlKCk7IGltZy5zcmM9bVswXTsgYXdhaXQgaW1nLmRlY29kZSgpOyBjb25zdCBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOyBjLndpZHRoPVNJWkU7IGMuaGVpZ2h0PVNJWkU7IGNvbnN0IGN0PWMuZ2V0Q29udGV4dCgnMmQnKTsgY3QuaW1hZ2VTbW9vdGhpbmdFbmFibGVkPWZhbHNlOyBjdC5kcmF3SW1hZ2UoaW1nLDAsMCxTSVpFLFNJWkUpOyByZXR1cm4ge2NhbnZhczogY307IH0NCmFzeW5jIGZ1bmN0aW9uIHJlbG9hZExheWVycygpew0KICBjb25zdCBiZz1CQUNLR1JPVU5EX09QVElPTlNbZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JnU2VsZWN0JykudmFsdWVdOyBiYWNrZ3JvdW5kTGF5ZXIgPSBhd2FpdCBmZXRjaExheWVyKGJnKTsNCiAgY29uc3Qgc2s9U0tFTEVUT05fT1BUSU9OU1tkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2tlbFNlbGVjdCcpLnZhbHVlXTsgc2tlbGV0b25MYXllciA9IGF3YWl0IGZldGNoTGF5ZXIoc2spOw0KICBjb25zdCBleXY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V5ZVNlbGVjdCcpLnZhbHVlOyBleWV3ZWFyTGF5ZXIgPSBleXYhPT0nbm9uZSc/IGF3YWl0IGZldGNoTGF5ZXIoRVlFV0VBUl9PUFRJT05TW2V5dl0pOiBudWxsOw0KICBjb25zdCBsaW5rPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiZ0xpbmsnKTsgbGluay5ocmVmPSdodHRwczovL2V0aHNjcmlwdGlvbnMuY29tL2V0aHNjcmlwdGlvbnMvJytiZzsgbGluay5zdHlsZS5kaXNwbGF5PSdibG9jayc7DQp9DQphc3luYyBmdW5jdGlvbiByYW5kb21pemVMYXllcnMoKXsNCiAgY29uc3QgYj1PYmplY3Qua2V5cyhCQUNLR1JPVU5EX09QVElPTlMpLCBzPU9iamVjdC5rZXlzKFNLRUxFVE9OX09QVElPTlMpLCBlPU9iamVjdC5rZXlzKEVZRVdFQVJfT1BUSU9OUyk7DQogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiZ1NlbGVjdCcpLnZhbHVlPWJbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmIubGVuZ3RoKV07DQogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdza2VsU2VsZWN0JykudmFsdWU9c1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqcy5sZW5ndGgpXTsNCiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V5ZVNlbGVjdCcpLnZhbHVlPWVbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmUubGVuZ3RoKV07DQogIGF3YWl0IHJlbG9hZExheWVycygpOw0KfQ0KDQovLyAtLS0gTUVMVCAmIFJFRk9STSAtLS0NCmZ1bmN0aW9uIHN0YXJ0TWVsdCgpew0KICBpZihhY3RpdmUpIHJldHVybjsNCiAgY29uc3QgZGF0YT1tYWluQ3R4LmdldEltYWdlRGF0YSgwLDAsU0laRSxTSVpFKS5kYXRhOw0KICBwYXJ0aWNsZXM9W107DQogIGZvcihsZXQgeT0wO3k8U0laRTt5KyspIGZvcihsZXQgeD0wO3g8U0laRTt4Kyspew0KICAgIGNvbnN0IGk9KHkqU0laRSt4KSo0OyBpZihkYXRhW2krM108MTApIGNvbnRpbnVlOw0KICAgIGNvbnN0IHI9ZGF0YVtpXSxnPWRhdGFbaSsxXSxiPWRhdGFbaSsyXSxhPWRhdGFbaSszXS8yNTU7DQogICAgcGFydGljbGVzLnB1c2goeyB4LHksYmFzZVg6eCxiYXNlWTp5LA0KICAgICAgdng6KE1hdGgucmFuZG9tKCktMC41KSo0MCwgdnk6KE1hdGgucmFuZG9tKCktMC41KSo0MCwNCiAgICAgIGNvbDpgcmdiYSgke3J9LCR7Z30sJHtifSwke2F9KWAsIGZhbTpyZ2JhVG9GYW1pbHkocixnLGIpLA0KICAgICAgelBoYXNlOk1hdGgucmFuZG9tKCkqMipNYXRoLlBJLCBzaXplOjEsDQogICAgICBub2lzZU1hZzpybmQoNiwxMiksIG5vaXNlU3BlZWQ6cm5kKDAuOCwxLjUpLCBub2lzZVBoYXNlOnJuZCgwLDIqTWF0aC5QSSkNCiAgICB9KTsNCiAgfQ0KICBtYWluQ2FudmFzLnN0eWxlLmRpc3BsYXk9J25vbmUnOyBtZWx0Q2FudmFzLnN0eWxlLmRpc3BsYXk9J2Jsb2NrJzsgYWN0aXZlPXRydWU7IG1vZGU9J21lbHQnOyB0R2xvYmFsPTA7DQogIG11dGF0ZUFsbEdlb21ldHJpZXMoKTsgZ2VvbVRpbWVyPXNldEludGVydmFsKG11dGF0ZUFsbEdlb21ldHJpZXMsNDAwMCk7DQogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZWx0QnRuJykuZGlzYWJsZWQ9dHJ1ZTsNCiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JlZm9ybUJ0bicpLmRpc2FibGVkPWZhbHNlOw0KfQ0KDQpmdW5jdGlvbiBzdGFydFJlZm9ybSgpew0KICBpZihtb2RlIT09J21lbHQnKSByZXR1cm47IG1vZGU9J3JlZm9ybSc7IGNsZWFySW50ZXJ2YWwoZ2VvbVRpbWVyKTsNCiAgcGFydGljbGVzLmZvckVhY2gocD0+eyBwLnZ4Kz0ocC5iYXNlWC1wLngpKjIuMjsgcC52eSs9KHAuYmFzZVktcC55KSoyLjI7IH0pOw0KICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVmb3JtQnRuJykuZGlzYWJsZWQ9dHJ1ZTsNCn0NCg0KLy8gLS0tIFBIWVNJQ1MgJiBSRU5ERVIgLS0tDQpmdW5jdGlvbiBwaHlzaWNzKGR0KXsNCiAgY29uc3QgYmFzZT17IGF0dHJhY3Q6MC4yMiwgaml0dGVyOjYwLCBkYW1waW5nOjAuODUsIGRlcHRoRnJlcTo0LCBkZXB0aEFtcDo0LCBkdXN0Sml0dGVyOjU1LCBkdXN0QXR0cmFjdDowLjE4LCB3YWtlUHVzaDowLjcgfTsNCiAgbGV0IGNYPTAsY1k9MCx2WD0wLHZZPTAsbkM9MDsNCiAgcGFydGljbGVzLmZvckVhY2gocD0+eyBpZihjb2xvdXJlZEZhbWlsaWVzLmluY2x1ZGVzKHAuZmFtKSl7IGNYKz1wLng7IGNZKz1wLnk7IHZYKz1wLnZ4OyB2WSs9cC52eTsgbkMrKzsgfX0pOw0KICBpZihuQyl7IGNYLz1uQzsgY1kvPW5DOyB2WC89bkM7IHZZLz1uQzsgfQ0KICBsZXQgc2V0dGxlZD0wOw0KICBwYXJ0aWNsZXMuZm9yRWFjaCgocCxpKT0+ew0KICAgIGlmKG1vZGU9PT0nbWVsdCcpew0KICAgICAgaWYoY29sb3VyZWRGYW1pbGllcy5pbmNsdWRlcyhwLmZhbSkpew0KICAgICAgICBjb25zdCBbZ3gsZ3ldPWdlb21UYXJnZXQocC5mYW0sdEdsb2JhbCxpKTsNCiAgICAgICAgY29uc3Qgbk9mZlg9TWF0aC5zaW4ocC5ub2lzZVBoYXNlK3RHbG9iYWwqcC5ub2lzZVNwZWVkKSpwLm5vaXNlTWFnOw0KICAgICAgICBjb25zdCBuT2ZmWT1NYXRoLmNvcyhwLm5vaXNlUGhhc2UrdEdsb2JhbCpwLm5vaXNlU3BlZWQpKnAubm9pc2VNYWc7DQogICAgICAgIHAudnggKz0gKGd4ICsgbk9mZlggLSBwLngpICogYmFzZS5hdHRyYWN0ICogZHQ7DQogICAgICAgIHAudnkgKz0gKGd5ICsgbk9mZlkgLSBwLnkpICogYmFzZS5hdHRyYWN0ICogZHQ7DQogICAgICAgIHAudnggKz0gKE1hdGgucmFuZG9tKCktMC41KSpiYXNlLmppdHRlcipkdDsNCiAgICAgICAgcC52eSArPSAoTWF0aC5yYW5kb20oKS0wLjUpKmJhc2Uuaml0dGVyKmR0Ow0KICAgICAgICBwLnpQaGFzZSArPSBkdCAqIGJhc2UuZGVwdGhGcmVxOw0KICAgICAgICBwLnNpemUgPSAxICsgYmFzZS5kZXB0aEFtcCAqIE1hdGguc2luKHAuelBoYXNlKTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIHAudnggKz0gKE1hdGgucmFuZG9tKCktMC41KSpiYXNlLmR1c3RKaXR0ZXIqZHQ7DQogICAgICAgIHAudnkgKz0gKE1hdGgucmFuZG9tKCktMC41KSpiYXNlLmR1c3RKaXR0ZXIqZHQ7DQogICAgICAgIGlmKG5DKXsgcC52eCArPSAoY1gtcC54KSpiYXNlLmR1c3RBdHRyYWN0KmR0OyBwLnZ5ICs9IChjWS1wLnkpKmJhc2UuZHVzdEF0dHJhY3QqZHQ7IHAudnggKz0gdlgqYmFzZS53YWtlUHVzaCpkdDsgcC52eSArPSB2WSpiYXNlLndha2VQdXNoKmR0OyB9DQogICAgICAgIHAuelBoYXNlICs9IGR0KmJhc2UuZGVwdGhGcmVxKjAuNjsNCiAgICAgICAgcC5zaXplID0gMSArIGJhc2UuZGVwdGhBbXAqMC41Kk1hdGguc2luKHAuelBoYXNlKTsNCiAgICAgIH0NCiAgICB9IGVsc2UgaWYobW9kZT09PSdyZWZvcm0nKXsNCiAgICAgIGNvbnN0IGR4PXAuYmFzZVgtcC54LCBkeT1wLmJhc2VZLXAueTsNCiAgICAgIHAudnggKz0gZHgqMC4yNTsgcC52eSArPSBkeSowLjI1Ow0KICAgICAgcC5zaXplICs9ICgxLXAuc2l6ZSkqNipkdDsNCiAgICAgIGlmKE1hdGguYWJzKGR4KStNYXRoLmFicyhkeSkgPCAwLjMpeyBwLng9cC5iYXNlWDsgcC55PXAuYmFzZVk7IHAudng9MDsgcC52eT0wOyBwLnNpemU9MTsgc2V0dGxlZCsrOyB9DQogICAgfQ0KICAgIHAueCArPSBwLnZ4KmR0OyBwLnkgKz0gcC52eSpkdDsNCiAgICBwLnZ4ICo9IGJhc2UuZGFtcGluZzsgcC52eSAqPSBiYXNlLmRhbXBpbmc7DQogICAgaWYocC54PDApeyBwLng9MDsgcC52eCo9LTAuNjt9IGlmKHAueD5TSVpFLTEpe3AueD1TSVpFLTE7IHAudngqPS0wLjY7fQ0KICAgIGlmKHAueTwwKXsgcC55PTA7IHAudnkqPS0wLjY7fSBpZihwLnk+U0laRS0xKXtwLnk9U0laRS0xOyBwLnZ5Kj0tMC42O30NCiAgfSk7DQogIGlmKG1vZGU9PT0ncmVmb3JtJyAmJiBzZXR0bGVkPT09cGFydGljbGVzLmxlbmd0aCl7IGFjdGl2ZT1mYWxzZTsgbW9kZT0nbm9uZSc7IG1lbHRDYW52YXMuc3R5bGUuZGlzcGxheT0nbm9uZSc7IG1haW5DYW52YXMuc3R5bGUuZGlzcGxheT0nYmxvY2snOyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbWVsdEJ0bicpLmRpc2FibGVkPWZhbHNlOyB9DQp9DQoNCmZ1bmN0aW9uIGRyYXdOb3JtYWxMYXllcnMoKXsNCiAgbWFpbkN0eC5jbGVhclJlY3QoMCwwLFNJWkUsU0laRSk7DQogIGlmKGJhY2tncm91bmRMYXllcikgbWFpbkN0eC5kcmF3SW1hZ2UoYmFja2dyb3VuZExheWVyLmNhbnZhcywwLDApOw0KICBpZihza2VsZXRvbkxheWVyKSAgbWFpbkN0eC5kcmF3SW1hZ2Uoc2tlbGV0b25MYXllci5jYW52YXMsMCwwKTsNCiAgaWYoZXlld2VhckxheWVyKSAgIG1haW5DdHguZHJhd0ltYWdlKGV5ZXdlYXJMYXllci5jYW52YXMsMCwwKTsNCn0NCg0KZnVuY3Rpb24gcmVuZGVyKCl7DQogIG1lbHRDdHguY2xlYXJSZWN0KDAsMCxTSVpFLFNJWkUpOw0KICBpZighYWN0aXZlKSByZXR1cm47DQogIHBhcnRpY2xlcy5mb3JFYWNoKHA9PnsNCiAgICBtZWx0Q3R4LmZpbGxTdHlsZSA9IHAuY29sOw0KICAgIGNvbnN0IHMgPSBNYXRoLm1heCgxLE1hdGgucm91bmQocC5zaXplKSk7DQogICAgbWVsdEN0eC5maWxsUmVjdChNYXRoLnJvdW5kKHAueCAtIHMqMC41KSwgTWF0aC5yb3VuZChwLnkgLSBzKjAuNSksIHMsIHMpOw0KICB9KTsNCn0NCg0KZnVuY3Rpb24gbG9vcCh0cyl7DQogIHJlcXVlc3RBbmltYXRpb25GcmFtZShsb29wKTsNCiAgaWYoIWxhc3RUUykgbGFzdFRTID0gdHM7DQogIGxldCBkdCA9ICh0cyAtIGxhc3RUUykgLyAxMDAwOyBpZihkdCA+IDAuNSkgZHQgPSAwLjU7DQogIGxhc3RUUyA9IHRzOw0KICBpZihhY3RpdmUpeyB0R2xvYmFsICs9IGR0OyBwaHlzaWNzKGR0KTsgcmVuZGVyKCk7IH0NCiAgZWxzZSBkcmF3Tm9ybWFsTGF5ZXJzKCk7DQp9DQoNCi8vIC0tLSBJTklUIC0tLQ0Kd2luZG93Lm9ubG9hZCA9IGFzeW5jICgpID0+IHsNCiAgd2ViMyA9IG5ldyBXZWIzKG5ldyBXZWIzLnByb3ZpZGVycy5IdHRwUHJvdmlkZXIoSU5GVVJBX1VSTCkpOw0KICBtYWluQ2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21haW5DYW52YXMnKTsgbWFpbkN0eCA9IG1haW5DYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsgbWFpbkN0eC5pbWFnZVNtb290aGluZ0VuYWJsZWQgPSBmYWxzZTsNCiAgLy8gY2xpcCB0byBrZWVwIGRyYXdpbmcgd2l0aGluIGJvdW5kcw0KICBtYWluQ3R4LnNhdmUoKTsNCiAgbWFpbkN0eC5iZWdpblBhdGgoKTsNCiAgbWFpbkN0eC5yZWN0KDAsIDAsIFNJWkUsIFNJWkUpOw0KICBtYWluQ3R4LmNsaXAoKTsNCiAgbWVsdENhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtZWx0Q2FudmFzJyk7DQogIC8vIHNldCBjYW52YXMgc2l6ZSB0byBleGFjdCBwaXhlbCBkaW1lbnNpb25zDQogIG1lbHRDYW52YXMud2lkdGggPSBTSVpFOw0KICBtZWx0Q2FudmFzLmhlaWdodCA9IFNJWkU7DQogIG1lbHRDdHggPSBtZWx0Q2FudmFzLmdldENvbnRleHQoJzJkJyk7DQogIG1lbHRDdHguaW1hZ2VTbW9vdGhpbmdFbmFibGVkID0gZmFsc2U7DQogIHBvcHVsYXRlU2VsZWN0cygpOyBzZXR1cFVJKCk7IGF3YWl0IHJhbmRvbWl6ZUxheWVycygpOw0KICBtYWluQ2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgc3RhcnRNZWx0KTsNCiAgbWFpbkNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCdkYmxjbGljaycsIHN0YXJ0UmVmb3JtKTsNCiAgLy8gYWxzbyBhbGxvdyBkb3VibGUtY2xpY2svdGFwIGFueXdoZXJlIGluIGNvbnRhaW5lciB0byB0cmlnZ2VyIHJlZm9ybQ0KICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlld2VyQ29udGFpbmVyJykuYWRkRXZlbnRMaXN0ZW5lcignZGJsY2xpY2snLCBzdGFydFJlZm9ybSk7DQogIC8vIG1vYmlsZSBkb3VibGUtdGFwIGNvbXBhdGliaWxpdHkNCiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3ZpZXdlckNvbnRhaW5lcicpLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgZnVuY3Rpb24oZXZ0KXsNCiAgICBpZihldnQuZGV0YWlsID09PSAyKSBzdGFydFJlZm9ybSgpOw0KICB9KTsNCiAgbG9vcCgpOw0KfTsNCjwvc2NyaXB0Pg0KPC9ib2R5Pg0KPC9odG1sPg0K
at txn 0xc12907493739e9c0c6a3c94727c63df3cdd94201734c2f2384569b374ae2dccc May-05-2025 11:39:23 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0xe51096b0a53653cbfdf0342d1879aab490444aee878bf975fa0d0540237096c3 May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0xeeffec128907a381495eb87b75d7402c1c457fde0e9543e08433341ee2978421 May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x515ada8576147d8b0b3aa60870afb28e221a86d048f0efff28a7d1f4f845f3ca May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x990189b93d11c64d5e13043185a99a887d4715277fd59fe1fa16f09f3f764492 May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0xf7115c2881b247c42500641da6df2d90eb22f6f70fc9fc776e9dc9edcfb374c9 May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0xc4f2e8fe7aadb8cea7539b173ca0e145e0ecd33b6137878a89ce03249b0eaf19 May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x9d02ae855bed4400965f58de746051b749a34eb06982d4912df0a619d66e4df6 May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0xac1c095a6a80fbd11e0c7c897412199a1b083e8f658c51a4fb5633a469f8d7e0 May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x423e085a85c42fde59aeec005ef93381dcdb691d7df879f28d714b7b7277a88a May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x09f5bf92040e5d2f08c4a4ec942cdeccfa830c2ee9fe836bffd7e0dbae72de46 May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x140108db798c12d87df5d5e747ab74de0d1864e691fd42468e9ca5b117724af7 May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x34dd9aef8b66c7afab0026acf2fc445dc02e85b96d16dee963ffd00fbf5a0ea2 May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x787e862474dc11a383fc31d12a72e5bf7781d5ba1cf8e50095a2d3bd77d34cd2 May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0xbf023b2d7116c70d8cb8900e9f8050010dc4353722fc8622069c275f8289bd3e May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x1e11c45deba6428be33d07c154c7f1222d50940c8a86cddeeb4a55fa3745292b May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x816d858ac3e61f47e17f0ea3b5afaf1fe536993d50f1dbfe8c3c1eac5b076f5f May-05-2025 11:39:11 PM UTC (78 days ago)

https://tradingview.com/chart/?symbol=HYPEUSD%2FETHUSD ---------------- https://x.com/HyperliquidX
at txn 0x8e7c810273df208758bc5a94bcf0e6f50e0709ff1f11b195d6518ac11dbf46e6 May-05-2025 11:39:11 PM UTC (78 days ago)