logo DERO HE BlockChain Explorer Mainnet

Tx hash: e0ec7bc5a303c985e66c06daf0d2eede541430f6bf2956e3c98173a552c45ec7 Type SC

Block: 80e471756c0e0b9b29604f06fbeea8e194ebe0ea72faa4e33ac9c1ebb5024e33 (VALID)
SCID current reserves
SCID Amount(in atomic units)
0000000000000000000000000000000000000000000000000000000000000000 0
SCID string variables
key value
C 46756e6374696f6e20496e697469616c697a655072697661746528292055696e7436340a313020494620696e69742829203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226e616d65486472222c2022726f757465722e6a7322290a33312053544f524528226465736372486472222c202255524c206861736820726f7574696e672073797374656d22290a33322053544f5245282269636f6e55524c486472222c202222290a33332053544f524528226455524c222c20226578706c6f7265722e74656c6122290a33342053544f52452822646f6354797065222c202254454c412d4a532d3122290a33352053544f52452822737562446972222c202222290a33362053544f5245282266696c65436865636b43222c20223162363232616130646666393534376632356633646133633433303065363239306161386166343037336630643563633062376663383639396330663165663422290a33372053544f5245282266696c65436865636b53222c20223132363434386437383234346231643635303439306637363164343464396363326234313837386233393238663638326138383231373135643739393137366322290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e20696e697428292055696e7436340a31302049462045584953545328226f776e65722229203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226f776e6572222c20616464726573732829290a35302053544f52452822646f6356657273696f6e222c2022312e302e3022290a36302053544f5245282268617368222c204845582854584944282929290a37302053544f524528226c696b6573222c2030290a38302053544f524528226469736c696b6573222c2030290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e2061646472657373282920537472696e670a31302044494d207320617320537472696e670a3230204c45542073203d205349474e455228290a33302049462049535f414444524553535f56414c4944287329205448454e20474f544f2035300a34302052455455524e2022616e6f6e220a35302052455455524e20414444524553535f535452494e472873290a456e642046756e6374696f6e0a0a46756e6374696f6e205261746528722055696e743634292055696e7436340a31302044494d206164647220617320537472696e670a3135204c45542061646472203d206164647265737328290a31362049462072203c2031303020262620455849535453286164647229203d3d2030202626206164647220213d2022616e6f6e22205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528616464722c2022222b722b225f222b424c4f434b5f4845494748542829290a34302049462072203c203530205448454e20474f544f2037300a35302053544f524528226c696b6573222c204c4f414428226c696b657322292b31290a36302052455455524e20300a37302053544f524528226469736c696b6573222c204c4f414428226469736c696b657322292b31290a3130302052455455524e20300a456e642046756e6374696f6e0a0a2f2a0a287b0a202020206e616d653a2027726f75746572272c0a2020202076657273696f6e3a2027312e302e30272c0a0a202020202f2f2048656c7065722066756e6374696f6e20746f20656e73757265207570646174654163746976654e617620776f726b732070726f7065726c790a20202020656e737572654163746976654e61765570646174653a2066756e6374696f6e287061676529207b0a202020202020202072657175657374416e696d6174696f6e4672616d65282829203d3e207b0a20202020202020202020202073657454696d656f7574286173796e63202829203d3e207b0a20202020202020202020202020202020747279207b0a2020202020202020202020202020202020202020696620282177696e646f772e726f757465725574696c732026262077696e646f772e6c6d29207b0a20202020202020202020202020202020202020202020202061776169742077696e646f772e6c6d2827726f757465722d7574696c7327293b0a20202020202020202020202020202020202020207d0a20202020202020202020202020202020202020200a20202020202020202020202020202020202020206966202877696e646f772e7570646174654163746976654e617629207b0a20202020202020202020202020202020202020202020202077696e646f772e7570646174654163746976654e61762870616765293b0a20202020202020202020202020202020202020207d20656c7365206966202877696e646f772e726f757465725574696c732026262077696e646f772e726f757465725574696c732e7570646174654163746976654e617629207b0a20202020202020202020202020202020202020202020202077696e646f772e726f757465725574696c732e7570646174654163746976654e61762870616765293b0a20202020202020202020202020202020202020207d0a202020202020202020202020202020207d20636174636820286572726f7229207b0a2020202020202020202020202020202020202020636f6e736f6c652e7761726e28274661696c656420746f2075706461746520616374697665206e617620666f722027202b2070616765202b20273a272c206572726f72293b0a202020202020202020202020202020207d0a2020202020202020202020207d2c203530293b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f2048616e646c6520726f757465206368616e6765730a2020202068723a2066756e6374696f6e2829207b0a20202020202020207661722068617368203d2077696e646f772e6c6f636174696f6e2e686173682e736c6963652831293b0a2020202020202020766172207061727473203d20686173682e73706c697428272f27293b0a202020202020202076617220726f757465203d2070617274735b305d3b0a202020202020202076617220706172616d203d2070617274735b315d3b0a20202020202020200a2020202020202020636f6e736f6c652e6c6f672827526f757465722068616e646c696e6720686173683a272c20686173682c2027726f7574653a272c20726f7574652c2027706172616d3a272c20706172616d293b0a20202020202020200a20202020202020202f2f20436c65616e75703a2073746f7020706f6f6c206175746f2d72656672657368207768656e206c656176696e6720706f6f6c20706167650a20202020202020206966202877696e646f772e72203d3d3d2027706f6f6c2720262620726f75746520213d3d2027706f6f6c272026262077696e646f772e64617368626f617264506f6f6c2026262077696e646f772e64617368626f617264506f6f6c2e73746f704175746f5265667265736829207b0a20202020202020202020202077696e646f772e64617368626f617264506f6f6c2e73746f704175746f5265667265736828293b0a20202020202020207d0a20202020202020200a20202020202020206966202877696e646f772e616464546f486973746f727929207b0a20202020202020202020202077696e646f772e616464546f486973746f72792868617368207c7c2027686f6d6527293b0a20202020202020207d0a20202020202020200a20202020202020207377697463682028726f75746529207b0a202020202020202020202020636173652027626c6f636b273a0a20202020202020202020202020202020746869732e6c6228706172616d293b0a20202020202020202020202020202020627265616b3b0a2020202020202020202020206361736520277478273a0a20202020202020202020202020202020746869732e6c7428706172616d293b0a20202020202020202020202020202020627265616b3b0a2020202020202020202020206361736520277363273a0a20202020202020202020202020202020746869732e6c736328706172616d293b0a20202020202020202020202020202020627265616b3b0a202020202020202020202020636173652027626c6f636b73273a0a20202020202020202020202020202020746869732e6c627328293b0a20202020202020202020202020202020746869732e656e737572654163746976654e61765570646174652827626c6f636b7327293b0a20202020202020202020202020202020627265616b3b0a2020202020202020202020206361736520277472616e73616374696f6e73273a0a20202020202020202020202020202020746869732e6c747328293b0a20202020202020202020202020202020746869732e656e737572654163746976654e617655706461746528277472616e73616374696f6e7327293b0a20202020202020202020202020202020627265616b3b0a202020202020202020202020636173652027736d617274636f6e747261637473273a0a20202020202020202020202020202020746869732e6c73637328293b0a20202020202020202020202020202020746869732e656e737572654163746976654e61765570646174652827736d617274636f6e74726163747327293b0a20202020202020202020202020202020627265616b3b0a2020202020202020202020206361736520276e6574776f726b273a0a20202020202020202020202020202020746869732e6c6e28293b0a20202020202020202020202020202020746869732e656e737572654163746976654e617655706461746528276e6574776f726b27293b0a20202020202020202020202020202020627265616b3b0a202020202020202020202020636173652027706f6f6c273a0a20202020202020202020202020202020746869732e6c7028293b0a20202020202020202020202020202020746869732e656e737572654163746976654e61765570646174652827706f6f6c27293b0a20202020202020202020202020202020627265616b3b0a0a20202020202020202020202064656661756c743a0a202020202020202020202020202020206966202877696e646f772e6c6f6164486f6d6529207b0a202020202020202020202020202020202020202077696e646f772e6c6f6164486f6d6528293b0a202020202020202020202020202020207d0a20202020202020207d0a202020207d2c0a0a202020202f2f204c6f616420626c6f636b206279206865696768742f686173680a202020206c623a2066756e6374696f6e2868656967687429207b0a2020202020202020636f6e736f6c652e6c6f672827526f75746572206c6f6164696e6720626c6f636b3a272c20686569676874293b0a20202020202020200a20202020202020202f2f2053616665747920636865636b3a2070726576656e74206c6f6164696e6720696e76616c696420626c6f636b20686569676874730a20202020202020206966202821686569676874207c7c20686569676874203d3d3d2027756e646566696e656427207c7c20686569676874203d3d3d20276e756c6c2729207b0a202020202020202020202020636f6e736f6c652e6c6f672827496e76616c696420626c6f636b206865696768742070726f76696465643a272c20686569676874293b0a202020202020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e496e76616c696420426c6f636b3c2f68333e3c703e496e76616c696420626c6f636b20686569676874206f7220686173682070726f76696465643c2f703e3c627574746f6e206f6e636c69636b3d2277696e646f772e6c6f636174696f6e2e686173683d5c27626c6f636b735c2722207374796c653d226d617267696e2d746f703a3172656d3b70616464696e673a302e3572656d203172656d3b6261636b67726f756e643a233532633864623b636f6c6f723a233030303b626f726465723a6e6f6e653b626f726465722d7261646975733a3470783b637572736f723a706f696e7465723b223ee28690204261636b20746f20426c6f636b733c2f627574746f6e3e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f7574652827626c6f636b27293b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d2027626c6f636b2f27202b206865696768743b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e6720626c6f636b2e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a2020202020202020696620282177696e646f772e78737764207c7c2077696e646f772e636f6e6e656374696f6e537461747573203d3d3d20276572726f722729207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e54454c4120636f6e6e656374696f6e2072657175697265643c2f68333e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a202020202020202077696e646f772e6c6d28276578706c6f72657227292e7468656e2866756e6374696f6e286578706c6f72657229207b0a202020202020202020202020696620286578706c6f726572202626206578706c6f7265722e6c6f6164426c6f636b29207b0a2020202020202020202020202020202072657475726e206578706c6f7265722e6c6f6164426c6f636b286865696768742c2077696e646f772e6778293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e556e61626c6520746f206c6f616420626c6f636b206d6f64756c653c2f68333e3c2f6469763e273b0a2020202020202020202020207d0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e426c6f636b206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f6164207472616e73616374696f6e20627920686173680a202020206c743a2066756e6374696f6e2874784861736829207b0a2020202020202020636f6e736f6c652e6c6f672827526f75746572206c6f6164696e67207472616e73616374696f6e3a272c20747848617368293b0a20202020202020200a20202020202020202f2f2053616665747920636865636b3a2070726576656e74206c6f6164696e6720696e76616c6964207472616e73616374696f6e206861736865730a20202020202020206966202821747848617368207c7c20747848617368203d3d3d2027756e646566696e656427207c7c20747848617368203d3d3d20276e756c6c27207c7c207478486173682e6c656e677468203c20333229207b0a202020202020202020202020636f6e736f6c652e6c6f672827496e76616c6964207472616e73616374696f6e20686173682070726f76696465643a272c20747848617368293b0a202020202020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e496e76616c6964205472616e73616374696f6e20486173683c2f68333e3c703e496e76616c6964207472616e73616374696f6e20686173682070726f76696465643a2027202b2028747848617368207c7c2027656d7074792729202b20273c2f703e3c627574746f6e206f6e636c69636b3d2277696e646f772e6c6f636174696f6e2e686173683d5c277472616e73616374696f6e735c2722207374796c653d226d617267696e2d746f703a3172656d3b70616464696e673a302e3572656d203172656d3b6261636b67726f756e643a233532633864623b636f6c6f723a233030303b626f726465723a6e6f6e653b626f726465722d7261646975733a3470783b637572736f723a706f696e7465723b223ee28690204261636b20746f205472616e73616374696f6e733c2f627574746f6e3e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f7574652827747827293b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d202774782f27202b207478486173683b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e67207472616e73616374696f6e2e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a2020202020202020696620282177696e646f772e78737764207c7c2077696e646f772e636f6e6e656374696f6e537461747573203d3d3d20276572726f722729207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e54454c4120636f6e6e656374696f6e2072657175697265643c2f68333e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a20202020202020202f2f204c6f6164206d6f64756c6172207472616e73616374696f6e2073797374656d0a202020202020202077696e646f772e6c6d28277472616e73616374696f6e732d636f726527292e7468656e2866756e6374696f6e28636f72654d6f64756c6529207b0a20202020202020202020202069662028636f72654d6f64756c6520262620636f72654d6f64756c652e72656e646572456e68616e6365645472616e73616374696f6e29207b0a20202020202020202020202020202020636f6e736f6c652e6c6f6728275573696e67207472616e73616374696f6e732d636f7265206d6f64756c6527293b0a2020202020202020202020202020202072657475726e20636f72654d6f64756c652e72656e646572456e68616e6365645472616e73616374696f6e287478486173682c2077696e646f772e6778293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207468726f77206e6577204572726f7228277472616e73616374696f6e732d636f7265206d6f64756c65206e6f7420617661696c61626c65206f72206d697373696e672072656e646572456e68616e6365645472616e73616374696f6e206d6574686f6427293b0a2020202020202020202020207d0a20202020202020207d292e7468656e2866756e6374696f6e28726573756c7429207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20726573756c743b0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a202020202020202020202020636f6e736f6c652e6572726f7228275472616e73616374696f6e206c6f6164696e67206572726f723a272c206572726f72293b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e5472616e73616374696f6e206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c627574746f6e206f6e636c69636b3d2277696e646f772e6c6f636174696f6e2e686173683d5c277472616e73616374696f6e735c2722207374796c653d226d617267696e2d746f703a3172656d3b70616464696e673a302e3572656d203172656d3b6261636b67726f756e643a233532633864623b636f6c6f723a233030303b626f726465723a6e6f6e653b626f726465722d7261646975733a3470783b637572736f723a706f696e7465723b223ee28690204261636b20746f205472616e73616374696f6e733c2f627574746f6e3e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f616420626c6f636b7320706167650a202020206c62733a2066756e6374696f6e2829207b0a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f7574652827626c6f636b7327293b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d2027626c6f636b73273b0a2020202020202020746869732e656e737572654163746976654e61765570646174652827626c6f636b7327293b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e6720626c6f636b732e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a202020202020202077696e646f772e6c6d28276578706c6f72657227292e7468656e2866756e6374696f6e286578706c6f72657229207b0a202020202020202020202020696620286578706c6f726572202626206578706c6f7265722e6c6f6164426c6f636b7329207b0a2020202020202020202020202020202072657475726e206578706c6f7265722e6c6f6164426c6f636b732877696e646f772e6778293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e556e61626c6520746f206c6f616420626c6f636b73206d6f64756c653c2f68333e3c2f6469763e273b0a2020202020202020202020207d0a20202020202020207d292e7468656e2866756e6374696f6e2829207b0a2020202020202020202020202f2f20526573746f72652061637469766520737461746520616674657220636f6e74656e74206c6f6164730a20202020202020202020202073657454696d656f7574282829203d3e207b0a202020202020202020202020202020206966202877696e646f772e726573746f72654163746976655374617465292077696e646f772e726573746f7265416374697665537461746528293b0a2020202020202020202020207d2c20323030293b0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e426c6f636b73206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f6164207472616e73616374696f6e7320706167650a202020206c74733a2066756e6374696f6e2829207b0a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f75746528277472616e73616374696f6e7327293b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d20277472616e73616374696f6e73273b0a2020202020202020746869732e656e737572654163746976654e617655706461746528277472616e73616374696f6e7327293b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e67207472616e73616374696f6e732e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a202020202020202077696e646f772e6c6d28276578706c6f7265722d7472616e73616374696f6e7327292e7468656e2866756e6374696f6e287472616e73616374696f6e734d6f64756c6529207b0a202020202020202020202020696620287472616e73616374696f6e734d6f64756c65202626207472616e73616374696f6e734d6f64756c652e6c6f61645472616e73616374696f6e7329207b0a2020202020202020202020202020202072657475726e207472616e73616374696f6e734d6f64756c652e6c6f61645472616e73616374696f6e7328293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e556e61626c6520746f206c6f6164207472616e73616374696f6e73206d6f64756c653c2f68333e3c2f6469763e273b0a2020202020202020202020207d0a20202020202020207d292e7468656e2866756e6374696f6e2829207b0a2020202020202020202020202f2f20526573746f72652061637469766520737461746520616674657220636f6e74656e74206c6f6164730a20202020202020202020202073657454696d656f7574282829203d3e207b0a202020202020202020202020202020206966202877696e646f772e726573746f72654163746976655374617465292077696e646f772e726573746f7265416374697665537461746528293b0a2020202020202020202020207d2c20323030293b0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e5472616e73616374696f6e73206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f6164206e6574776f726b20706167650a202020206c6e3a2066756e6374696f6e2829207b0a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f75746528276e6574776f726b27293b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d20276e6574776f726b273b0a2020202020202020746869732e656e737572654163746976654e617655706461746528276e6574776f726b27293b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e67206e6574776f726b2e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a2020202020202020696620282177696e646f772e78737764207c7c2077696e646f772e636f6e6e656374696f6e537461747573203d3d3d20276572726f722729207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e54454c4120636f6e6e656374696f6e2072657175697265643c2f68333e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a202020202020202077696e646f772e6c6d28276e6574776f726b2d756927292e7468656e2866756e6374696f6e286e6574776f726b29207b0a202020202020202020202020696620286e6574776f726b202626206e6574776f726b2e6c6f61644e6574776f726b29207b0a2020202020202020202020202020202072657475726e206e6574776f726b2e6c6f61644e6574776f726b2877696e646f772e6778293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e556e61626c6520746f206c6f6164206e6574776f726b205549206d6f64756c653c2f68333e3c2f6469763e273b0a2020202020202020202020207d0a20202020202020207d292e7468656e2866756e6374696f6e2829207b0a2020202020202020202020202f2f20526573746f72652061637469766520737461746520616674657220636f6e74656e74206c6f6164730a20202020202020202020202073657454696d656f7574282829203d3e207b0a202020202020202020202020202020206966202877696e646f772e726573746f72654163746976655374617465292077696e646f772e726573746f7265416374697665537461746528293b0a2020202020202020202020207d2c20323030293b0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e4e6574776f726b206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f6164207472616e73616374696f6e20706f6f6c20706167650a202020206c703a2066756e6374696f6e2829207b0a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f7574652827706f6f6c27293b0a202020202020202077696e646f772e72203d2027706f6f6c273b202f2f20456e7375726520726f757465207661726961626c65206973207365740a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d2027706f6f6c273b0a2020202020202020746869732e656e737572654163746976654e61765570646174652827706f6f6c27293b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e67207472616e73616374696f6e20706f6f6c2e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a2020202020202020696620282177696e646f772e78737764207c7c2077696e646f772e636f6e6e656374696f6e537461747573203d3d3d20276572726f722729207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e54454c4120636f6e6e656374696f6e2072657175697265643c2f68333e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a202020202020202077696e646f772e6c6d282764617368626f6172642d706f6f6c27292e7468656e2866756e6374696f6e28706f6f6c4d6f64756c6529207b0a20202020202020202020202069662028706f6f6c4d6f64756c6520262620706f6f6c4d6f64756c652e72656e646572506f6f6c4d6f64756c6529207b0a2020202020202020202020202020202072657475726e20706f6f6c4d6f64756c652e72656e646572506f6f6c4d6f64756c6528293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e556e61626c6520746f206c6f616420706f6f6c206d6f64756c653c2f68333e3c2f6469763e273b0a2020202020202020202020207d0a20202020202020207d292e7468656e2866756e6374696f6e28706f6f6c48544d4c29207b0a20202020202020202020202069662028706f6f6c48544d4c29207b0a202020202020202020202020202020206f75747075742e696e6e657248544d4c203d20706f6f6c48544d4c3b0a202020202020202020202020202020202f2f20496e697469616c697a6520706f6f6c206d6f6e69746f72696e6720696620617661696c61626c650a2020202020202020202020202020202072657475726e2077696e646f772e6c6d282764617368626f6172642d706f6f6c27292e7468656e2866756e6374696f6e28706f6f6c4d6f64756c6529207b0a202020202020202020202020202020202020202069662028706f6f6c4d6f64756c6520262620706f6f6c4d6f64756c652e7570646174654d6f64756c6529207b0a20202020202020202020202020202020202020202020202077696e646f772e64617368626f617264506f6f6c203d20706f6f6c4d6f64756c653b0a2020202020202020202020202020202020202020202020202f2f205761697420612062697420666f7220444f4d20746f2062652072656164792c207468656e2075706461746520616e64207374617274206175746f2d726566726573680a20202020202020202020202020202020202020202020202073657454696d656f75742866756e6374696f6e2829207b0a20202020202020202020202020202020202020202020202020202020706f6f6c4d6f64756c652e7570646174654d6f64756c6528293b0a20202020202020202020202020202020202020202020202020202020706f6f6c4d6f64756c652e73746172744175746f5265667265736828293b0a202020202020202020202020202020202020202020202020202020202f2f20526573746f72652061637469766520737461746520616674657220706f6f6c20636f6e74656e74206c6f6164730a202020202020202020202020202020202020202020202020202020206966202877696e646f772e726573746f72654163746976655374617465292077696e646f772e726573746f7265416374697665537461746528293b0a2020202020202020202020202020202020202020202020207d2c20313030293b0a20202020202020202020202020202020202020207d0a202020202020202020202020202020207d293b0a2020202020202020202020207d0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e5472616e73616374696f6e20706f6f6c206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f616420736d61727420636f6e74726163747320706167650a202020206c7363733a2066756e6374696f6e2829207b0a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f7574652827736d617274636f6e74726163747327293b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d2027736d617274636f6e747261637473273b0a2020202020202020746869732e656e737572654163746976654e61765570646174652827736d617274636f6e74726163747327293b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e6720736d61727420636f6e7472616374732e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a2020202020202020696620282177696e646f772e78737764207c7c2077696e646f772e636f6e6e656374696f6e537461747573203d3d3d20276572726f722729207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e54454c4120636f6e6e656374696f6e2072657175697265643c2f68333e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a202020202020202077696e646f772e6c6d2827736d617274636f6e74726163747327292e7468656e2866756e6374696f6e28736d617274636f6e74726163747329207b0a2020202020202020202020206966202821736d617274636f6e74726163747329207b0a202020202020202020202020202020207468726f77206e6577204572726f7228274661696c656420746f206c6f616420736d617274636f6e747261637473206d6f64756c6527293b0a2020202020202020202020207d0a2020202020202020202020200a2020202020202020202020202f2f204d616b6520736d61727420636f6e7472616374732066756e6374696f6e7320676c6f62616c6c7920617661696c61626c650a20202020202020202020202077696e646f772e736d617274636f6e747261637473203d20736d617274636f6e7472616374733b0a20202020202020202020202069662028736d617274636f6e7472616374732e736561726368534329207b0a2020202020202020202020202020202077696e646f772e7365617263685343203d20736d617274636f6e7472616374732e73656172636853433b0a2020202020202020202020207d0a20202020202020202020202069662028736d617274636f6e7472616374732e646973636f76657241637469766529207b0a2020202020202020202020202020202077696e646f772e646973636f7665724163746976655343203d20736d617274636f6e7472616374732e646973636f7665724163746976652e62696e6428736d617274636f6e747261637473293b0a2020202020202020202020207d0a20202020202020202020202069662028736d617274636f6e7472616374732e717569636b53656172636829207b0a2020202020202020202020202020202077696e646f772e717569636b5365617263685343203d20736d617274636f6e7472616374732e717569636b5365617263682e62696e6428736d617274636f6e747261637473293b0a2020202020202020202020207d0a2020202020202020202020200a20202020202020202020202072657475726e20736d617274636f6e7472616374732e72656e646572536d617274436f6e7472616374732877696e646f772e6778293b0a20202020202020207d292e7468656e2866756e6374696f6e28726573756c7429207b0a2020202020202020202020202f2f2048616e646c6520626f74682050726f6d69736520616e642064697265637420737472696e6720726573756c74730a20202020202020202020202069662028726573756c7420262620747970656f6620726573756c742e7468656e203d3d3d202766756e6374696f6e2729207b0a2020202020202020202020202020202072657475726e20726573756c742e7468656e2866756e6374696f6e2868746d6c29207b0a20202020202020202020202020202020202020206f75747075742e696e6e657248544d4c203d2068746d6c3b0a202020202020202020202020202020207d293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020206f75747075742e696e6e657248544d4c203d20726573756c743b0a2020202020202020202020207d0a2020202020202020202020202f2f20526573746f72652061637469766520737461746520616674657220636f6e74656e74206c6f6164730a20202020202020202020202073657454696d656f7574282829203d3e207b0a202020202020202020202020202020206966202877696e646f772e726573746f72654163746976655374617465292077696e646f772e726573746f7265416374697665537461746528293b0a2020202020202020202020207d2c20323030293b0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e536d61727420636f6e747261637473206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f616420736d61727420636f6e74726163742064657461696c730a202020206c73633a2066756e6374696f6e287363696429207b0a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f7574652827736327293b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d202773632f27202b20736369643b0a2020202020202020746869732e656e737572654163746976654e61765570646174652827736d617274636f6e74726163747327293b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e6720736d61727420636f6e74726163742e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a2020202020202020696620282177696e646f772e78737764207c7c2077696e646f772e636f6e6e656374696f6e537461747573203d3d3d20276572726f722729207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e54454c4120636f6e6e656374696f6e2072657175697265643c2f68333e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a202020202020202077696e646f772e6c6d2827736d617274636f6e74726163747327292e7468656e2866756e6374696f6e28736d617274636f6e74726163747329207b0a2020202020202020202020206966202821736d617274636f6e74726163747329207b0a202020202020202020202020202020207468726f77206e6577204572726f7228274661696c656420746f206c6f616420736d617274636f6e747261637473206d6f64756c6527293b0a2020202020202020202020207d0a2020202020202020202020200a2020202020202020202020202f2f204d616b6520736d61727420636f6e7472616374732066756e6374696f6e7320676c6f62616c6c7920617661696c61626c650a20202020202020202020202077696e646f772e736d617274636f6e747261637473203d20736d617274636f6e7472616374733b0a20202020202020202020202069662028736d617274636f6e7472616374732e736561726368534329207b0a2020202020202020202020202020202077696e646f772e7365617263685343203d20736d617274636f6e7472616374732e73656172636853433b0a2020202020202020202020207d0a2020202020202020202020200a20202020202020202020202072657475726e20736d617274636f6e7472616374732e72656e646572534344657461696c7328736369642c2077696e646f772e6778293b0a20202020202020207d292e7468656e2866756e6374696f6e28726573756c7429207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20726573756c743b0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e536d61727420636f6e7472616374206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f616420626c6f636b7320706167652028696e6372656d656e74616c2f616c7465726e6174697665290a202020206c6f6164426c6f636b73496e6372656d656e74616c3a2066756e6374696f6e2829207b0a0a2020202020202020746869732e6c627328293b0a202020207d2c0a0a0a0a202020202f2f204e6176696761746520746f20737065636966696320626c6f636b0a202020206e61766967617465546f426c6f636b3a2066756e6374696f6e2868656967687429207b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d2027626c6f636b2f27202b206865696768743b0a202020207d2c0a0a202020202f2f2055706461746520616374697665206e617669676174696f6e20627574746f6e202864656c65676174657320746f207574696c73290a202020207570646174654163746976654e61763a2066756e6374696f6e287061676529207b0a20202020202020206966202877696e646f772e726f757465725574696c7329207b0a20202020202020202020202077696e646f772e726f757465725574696c732e7570646174654163746976654e61762870616765293b0a20202020202020207d0a202020207d0a7d293b0a0a2f2f204e6f74653a20476c6f62616c20726f757465722066756e6374696f6e73206d6f76656420746f20726f757465722d7574696c732e6a7320666f7220626574746572206f7267616e697a6174696f6e0a2a2f
dURL 6578706c6f7265722e74656c61
descrHdr 55524c206861736820726f7574696e672073797374656d
dislikes 0
docType 54454c412d4a532d31
docVersion 312e302e30
fileCheckC 31623632326161306466663935343766323566336461336334333030653632393061613861663430373366306435636330623766633836393963306631656634
fileCheckS 31323634343864373832343462316436353034393066373631643434643963633262343138373862333932386636383261383832313731356437393931373663
hash 65306563376263356133303363393835653636633036646166306432656564653534313433306636626632393536653363393831373361353532633435656337
iconURLHdr
likes 0
nameHdr 726f757465722e6a73
owner 616e6f6e
subDir
SCID uint64 variables
key value
built BLID : 3149bfe4c777538c2d6cae8b861b0947cef7df87f6093131792d41bcff04a26e
Tx RootHash: a3de22eee403e110f98fa864c137895adf4088a2608e2585beda61b53d4c7bb0 built height : 6013890
Timestamp: 1759379835755 Timestamp [UTC]: 2025-10-01 21:37:15 Age [y:d:h:m:s]: 12:31:37.543
Block: 6013895 Fee: 0.18128 Tx size: 20.605 kB
Tx version: 1 No of confirmations: 2359 Signature type: DERO_HOMOMORPHIC
Extra:
DERO : 16 inputs/outputs (RING size) Fees 0.18128 Deposited to SC 0.00000
Sender :
address
dero1qy0dy6yn7uf38at5r7u6rnzvkqmlygcfydmzl2e2paauv3lmr46jxqgdyky04
dero1qypxtxmydkcvwpnr992q43dlp3h2ma3mvn8fszwkjpzd0gyf2pfmxqq5hjtdu
dero1qyk8pl2v08e0s27pf5f6sspvtf0l2v8zuycym2twnrcnqua0lxzdzqqalwg47
dero1qyps4zqpygthpxjj49fkxnfytkl3q7vql4m6zq4xdtylgd2ch3ew2qqen77mg
dero1qyx0fcetxdspqhryfapgkdt0trrl970ccjgq8z3ydlfcdzm5tlw6kqqylv7vl
dero1qy3xuts75apfr4zrs4yqwlvcc505hvszr9q8xym2x34zwahpa9azxqg75shrr
dero1qykyta6ntpd27nl0yq4xtzaf4ls6p5e9pqu0k2x4x3pqq5xavjsdxqgny8270
dero1qyncutqrcjuvlxja70zfrkp3jw0t0qeeu55q0ta9sahce2vhfc7zuqqh79yal
dero1qycqlq8etap4t79qsr2ssncjh5v7376avnxfqgdcw75zw2y9e5ta5qgjq5se8
dero1qyqu6kdla44msn0ky5skpv4fahj2ay80ycjpz27kgc4wf7jk4ys0kqq6s36fh
dero1qytfrv4yw2ulkxt329f7ng9jr78t00pkufgrdz3etgyhtkz2scwhvqqv7xaq9
dero1qy5qwc4wh6jknvwxq0euqkzdwvnv4edaxqv93d54260j50jpz9qjxqgsv74d7
dero1qyj20hqr6z5955rjrqux32g5c0jcuuqxeeurma3n85supfttq7nk5qgpa23un
dero1qyj6kefazehguvacv25n8x4x3jy60h29ysug5pf9sd86yh6hsqjm6qqpwum55
dero1qytypl6m4yt6396gllw6v2rprmnkw030fjml659pv7nluqf9u9n9jqgsdadxd
dero1qyjesjkmkw70rlk9ktdk4hy943xprsgadk2etlhkg7hnxxtxgxm06qg23xdem
SC Balance: 0.00000 DERO
SC CODE:
  Function InitializePrivate() Uint64
10 IF init() == 0 THEN GOTO 30
20 RETURN 1
30 STORE("nameHdr", "router.js")
31 STORE("descrHdr", "URL hash routing system")
32 STORE("iconURLHdr", "")
33 STORE("dURL", "explorer.tela")
34 STORE("docType", "TELA-JS-1")
35 STORE("subDir", "")
36 STORE("fileCheckC", "1b622aa0dff9547f25f3da3c4300e6290aa8af4073f0d5cc0b7fc8699c0f1ef4")
37 STORE("fileCheckS", "126448d78244b1d650490f761d44d9cc2b41878b3928f682a8821715d799176c")
100 RETURN 0
End Function

Function init() Uint64
10 IF EXISTS("owner") == 0 THEN GOTO 30
20 RETURN 1
30 STORE("owner", address())
50 STORE("docVersion", "1.0.0")
60 STORE("hash", HEX(TXID()))
70 STORE("likes", 0)
80 STORE("dislikes", 0)
100 RETURN 0
End Function

Function address() String
10 DIM s as String
20 LET s = SIGNER()
30 IF IS_ADDRESS_VALID(s) THEN GOTO 50
40 RETURN "anon"
50 RETURN ADDRESS_STRING(s)
End Function

Function Rate(r Uint64) Uint64
10 DIM addr as String
15 LET addr = address()
16 IF r < 100 && EXISTS(addr) == 0 && addr != "anon" THEN GOTO 30
20 RETURN 1
30 STORE(addr, ""+r+"_"+BLOCK_HEIGHT())
40 IF r < 50 THEN GOTO 70
50 STORE("likes", LOAD("likes")+1)
60 RETURN 0
70 STORE("dislikes", LOAD("dislikes")+1)
100 RETURN 0
End Function

/*
({
    name: 'router',
    version: '1.0.0',

    // Helper function to ensure updateActiveNav works properly
    ensureActiveNavUpdate: function(page) {
        requestAnimationFrame(() => {
            setTimeout(async () => {
                try {
                    if (!window.routerUtils && window.lm) {
                        await window.lm('router-utils');
                    }
                    
                    if (window.updateActiveNav) {
                        window.updateActiveNav(page);
                    } else if (window.routerUtils && window.routerUtils.updateActiveNav) {
                        window.routerUtils.updateActiveNav(page);
                    }
                } catch (error) {
                    console.warn('Failed to update active nav for ' + page + ':', error);
                }
            }, 50);
        });
    },

    // Handle route changes
    hr: function() {
        var hash = window.location.hash.slice(1);
        var parts = hash.split('/');
        var route = parts[0];
        var param = parts[1];
        
        console.log('Router handling hash:', hash, 'route:', route, 'param:', param);
        
        // Cleanup: stop pool auto-refresh when leaving pool page
        if (window.r === 'pool' && route !== 'pool' && window.dashboardPool && window.dashboardPool.stopAutoRefresh) {
            window.dashboardPool.stopAutoRefresh();
        }
        
        if (window.addToHistory) {
            window.addToHistory(hash || 'home');
        }
        
        switch (route) {
            case 'block':
                this.lb(param);
                break;
            case 'tx':
                this.lt(param);
                break;
            case 'sc':
                this.lsc(param);
                break;
            case 'blocks':
                this.lbs();
                this.ensureActiveNavUpdate('blocks');
                break;
            case 'transactions':
                this.lts();
                this.ensureActiveNavUpdate('transactions');
                break;
            case 'smartcontracts':
                this.lscs();
                this.ensureActiveNavUpdate('smartcontracts');
                break;
            case 'network':
                this.ln();
                this.ensureActiveNavUpdate('network');
                break;
            case 'pool':
                this.lp();
                this.ensureActiveNavUpdate('pool');
                break;

            default:
                if (window.loadHome) {
                    window.loadHome();
                }
        }
    },

    // Load block by height/hash
    lb: function(height) {
        console.log('Router loading block:', height);
        
        // Safety check: prevent loading invalid block heights
        if (!height || height === 'undefined' || height === 'null') {
            console.log('Invalid block height provided:', height);
            var output = document.getElementById('main-content');
            output.innerHTML = '<div class="enhanced-card"><h3>Invalid Block</h3><p>Invalid block height or hash provided</p><button onclick="window.location.hash=\'blocks\'" style="margin-top:1rem;padding:0.5rem 1rem;background:#52c8db;color:#000;border:none;border-radius:4px;cursor:pointer;">← Back to Blocks</button></div>';
            return;
        }
        
        if (window.setCurrentRoute) window.setCurrentRoute('block');
        window.location.hash = 'block/' + height;
        
        var output = document.getElementById('main-content');
        output.innerHTML = '<div class="loading-progress">Loading block...<div class="progress-bar"></div></div>';
        
        if (!window.xswd || window.connectionStatus === 'error') {
            output.innerHTML = '<div class="enhanced-card"><h3>TELA connection required</h3></div>';
            return;
        }
        
        window.lm('explorer').then(function(explorer) {
            if (explorer && explorer.loadBlock) {
                return explorer.loadBlock(height, window.gx);
            } else {
                output.innerHTML = '<div class="enhanced-card"><h3>Unable to load block module</h3></div>';
            }
        }).catch(function(error) {
            output.innerHTML = '<div class="enhanced-card"><h3>Block loading failed</h3><p>' + error.message + '</p></div>';
        });
    },

    // Load transaction by hash
    lt: function(txHash) {
        console.log('Router loading transaction:', txHash);
        
        // Safety check: prevent loading invalid transaction hashes
        if (!txHash || txHash === 'undefined' || txHash === 'null' || txHash.length < 32) {
            console.log('Invalid transaction hash provided:', txHash);
            var output = document.getElementById('main-content');
            output.innerHTML = '<div class="enhanced-card"><h3>Invalid Transaction Hash</h3><p>Invalid transaction hash provided: ' + (txHash || 'empty') + '</p><button onclick="window.location.hash=\'transactions\'" style="margin-top:1rem;padding:0.5rem 1rem;background:#52c8db;color:#000;border:none;border-radius:4px;cursor:pointer;">← Back to Transactions</button></div>';
            return;
        }
        
        if (window.setCurrentRoute) window.setCurrentRoute('tx');
        window.location.hash = 'tx/' + txHash;
        
        var output = document.getElementById('main-content');
        output.innerHTML = '<div class="loading-progress">Loading transaction...<div class="progress-bar"></div></div>';
        
        if (!window.xswd || window.connectionStatus === 'error') {
            output.innerHTML = '<div class="enhanced-card"><h3>TELA connection required</h3></div>';
            return;
        }
        
        // Load modular transaction system
        window.lm('transactions-core').then(function(coreModule) {
            if (coreModule && coreModule.renderEnhancedTransaction) {
                console.log('Using transactions-core module');
                return coreModule.renderEnhancedTransaction(txHash, window.gx);
            } else {
                throw new Error('transactions-core module not available or missing renderEnhancedTransaction method');
            }
        }).then(function(result) {
            output.innerHTML = result;
        }).catch(function(error) {
            console.error('Transaction loading error:', error);
            output.innerHTML = '<div class="enhanced-card"><h3>Transaction loading failed</h3><p>' + error.message + '</p><button onclick="window.location.hash=\'transactions\'" style="margin-top:1rem;padding:0.5rem 1rem;background:#52c8db;color:#000;border:none;border-radius:4px;cursor:pointer;">← Back to Transactions</button></div>';
        });
    },

    // Load blocks page
    lbs: function() {
        if (window.setCurrentRoute) window.setCurrentRoute('blocks');
        window.location.hash = 'blocks';
        this.ensureActiveNavUpdate('blocks');
        
        var output = document.getElementById('main-content');
        output.innerHTML = '<div class="loading-progress">Loading blocks...<div class="progress-bar"></div></div>';
        
        window.lm('explorer').then(function(explorer) {
            if (explorer && explorer.loadBlocks) {
                return explorer.loadBlocks(window.gx);
            } else {
                output.innerHTML = '<div class="enhanced-card"><h3>Unable to load blocks module</h3></div>';
            }
        }).then(function() {
            // Restore active state after content loads
            setTimeout(() => {
                if (window.restoreActiveState) window.restoreActiveState();
            }, 200);
        }).catch(function(error) {
            output.innerHTML = '<div class="enhanced-card"><h3>Blocks loading failed</h3><p>' + error.message + '</p></div>';
        });
    },

    // Load transactions page
    lts: function() {
        if (window.setCurrentRoute) window.setCurrentRoute('transactions');
        window.location.hash = 'transactions';
        this.ensureActiveNavUpdate('transactions');
        
        var output = document.getElementById('main-content');
        output.innerHTML = '<div class="loading-progress">Loading transactions...<div class="progress-bar"></div></div>';
        
        window.lm('explorer-transactions').then(function(transactionsModule) {
            if (transactionsModule && transactionsModule.loadTransactions) {
                return transactionsModule.loadTransactions();
            } else {
                output.innerHTML = '<div class="enhanced-card"><h3>Unable to load transactions module</h3></div>';
            }
        }).then(function() {
            // Restore active state after content loads
            setTimeout(() => {
                if (window.restoreActiveState) window.restoreActiveState();
            }, 200);
        }).catch(function(error) {
            output.innerHTML = '<div class="enhanced-card"><h3>Transactions loading failed</h3><p>' + error.message + '</p></div>';
        });
    },

    // Load network page
    ln: function() {
        if (window.setCurrentRoute) window.setCurrentRoute('network');
        window.location.hash = 'network';
        this.ensureActiveNavUpdate('network');
        
        var output = document.getElementById('main-content');
        output.innerHTML = '<div class="loading-progress">Loading network...<div class="progress-bar"></div></div>';
        
        if (!window.xswd || window.connectionStatus === 'error') {
            output.innerHTML = '<div class="enhanced-card"><h3>TELA connection required</h3></div>';
            return;
        }
        
        window.lm('network-ui').then(function(network) {
            if (network && network.loadNetwork) {
                return network.loadNetwork(window.gx);
            } else {
                output.innerHTML = '<div class="enhanced-card"><h3>Unable to load network UI module</h3></div>';
            }
        }).then(function() {
            // Restore active state after content loads
            setTimeout(() => {
                if (window.restoreActiveState) window.restoreActiveState();
            }, 200);
        }).catch(function(error) {
            output.innerHTML = '<div class="enhanced-card"><h3>Network loading failed</h3><p>' + error.message + '</p></div>';
        });
    },

    // Load transaction pool page
    lp: function() {
        if (window.setCurrentRoute) window.setCurrentRoute('pool');
        window.r = 'pool'; // Ensure route variable is set
        window.location.hash = 'pool';
        this.ensureActiveNavUpdate('pool');
        
        var output = document.getElementById('main-content');
        output.innerHTML = '<div class="loading-progress">Loading transaction pool...<div class="progress-bar"></div></div>';
        
        if (!window.xswd || window.connectionStatus === 'error') {
            output.innerHTML = '<div class="enhanced-card"><h3>TELA connection required</h3></div>';
            return;
        }
        
        window.lm('dashboard-pool').then(function(poolModule) {
            if (poolModule && poolModule.renderPoolModule) {
                return poolModule.renderPoolModule();
            } else {
                output.innerHTML = '<div class="enhanced-card"><h3>Unable to load pool module</h3></div>';
            }
        }).then(function(poolHTML) {
            if (poolHTML) {
                output.innerHTML = poolHTML;
                // Initialize pool monitoring if available
                return window.lm('dashboard-pool').then(function(poolModule) {
                    if (poolModule && poolModule.updateModule) {
                        window.dashboardPool = poolModule;
                        // Wait a bit for DOM to be ready, then update and start auto-refresh
                        setTimeout(function() {
                            poolModule.updateModule();
                            poolModule.startAutoRefresh();
                            // Restore active state after pool content loads
                            if (window.restoreActiveState) window.restoreActiveState();
                        }, 100);
                    }
                });
            }
        }).catch(function(error) {
            output.innerHTML = '<div class="enhanced-card"><h3>Transaction pool loading failed</h3><p>' + error.message + '</p></div>';
        });
    },

    // Load smart contracts page
    lscs: function() {
        if (window.setCurrentRoute) window.setCurrentRoute('smartcontracts');
        window.location.hash = 'smartcontracts';
        this.ensureActiveNavUpdate('smartcontracts');
        
        var output = document.getElementById('main-content');
        output.innerHTML = '<div class="loading-progress">Loading smart contracts...<div class="progress-bar"></div></div>';
        
        if (!window.xswd || window.connectionStatus === 'error') {
            output.innerHTML = '<div class="enhanced-card"><h3>TELA connection required</h3></div>';
            return;
        }
        
        window.lm('smartcontracts').then(function(smartcontracts) {
            if (!smartcontracts) {
                throw new Error('Failed to load smartcontracts module');
            }
            
            // Make smart contracts functions globally available
            window.smartcontracts = smartcontracts;
            if (smartcontracts.searchSC) {
                window.searchSC = smartcontracts.searchSC;
            }
            if (smartcontracts.discoverActive) {
                window.discoverActiveSC = smartcontracts.discoverActive.bind(smartcontracts);
            }
            if (smartcontracts.quickSearch) {
                window.quickSearchSC = smartcontracts.quickSearch.bind(smartcontracts);
            }
            
            return smartcontracts.renderSmartContracts(window.gx);
        }).then(function(result) {
            // Handle both Promise and direct string results
            if (result && typeof result.then === 'function') {
                return result.then(function(html) {
                    output.innerHTML = html;
                });
            } else {
                output.innerHTML = result;
            }
            // Restore active state after content loads
            setTimeout(() => {
                if (window.restoreActiveState) window.restoreActiveState();
            }, 200);
        }).catch(function(error) {
            output.innerHTML = '<div class="enhanced-card"><h3>Smart contracts loading failed</h3><p>' + error.message + '</p></div>';
        });
    },

    // Load smart contract details
    lsc: function(scid) {
        if (window.setCurrentRoute) window.setCurrentRoute('sc');
        window.location.hash = 'sc/' + scid;
        this.ensureActiveNavUpdate('smartcontracts');
        
        var output = document.getElementById('main-content');
        output.innerHTML = '<div class="loading-progress">Loading smart contract...<div class="progress-bar"></div></div>';
        
        if (!window.xswd || window.connectionStatus === 'error') {
            output.innerHTML = '<div class="enhanced-card"><h3>TELA connection required</h3></div>';
            return;
        }
        
        window.lm('smartcontracts').then(function(smartcontracts) {
            if (!smartcontracts) {
                throw new Error('Failed to load smartcontracts module');
            }
            
            // Make smart contracts functions globally available
            window.smartcontracts = smartcontracts;
            if (smartcontracts.searchSC) {
                window.searchSC = smartcontracts.searchSC;
            }
            
            return smartcontracts.renderSCDetails(scid, window.gx);
        }).then(function(result) {
            output.innerHTML = result;
        }).catch(function(error) {
            output.innerHTML = '<div class="enhanced-card"><h3>Smart contract loading failed</h3><p>' + error.message + '</p></div>';
        });
    },

    // Load blocks page (incremental/alternative)
    loadBlocksIncremental: function() {

        this.lbs();
    },



    // Navigate to specific block
    navigateToBlock: function(height) {
        window.location.hash = 'block/' + height;
    },

    // Update active navigation button (delegates to utils)
    updateActiveNav: function(page) {
        if (window.routerUtils) {
            window.routerUtils.updateActiveNav(page);
        }
    }
});

// Note: Global router functions moved to router-utils.js for better organization
*/
SC Arguments: [Name:SC_ACTION Type:uint64 Value:'1' Name:SC_CODE Type:string Value:'Function InitializePrivate() Uint64 10 IF init() == 0 THEN GOTO 30 20 RETURN 1 30 STORE("nameHdr", "router.js") 31 STORE("descrHdr", "URL hash routing system") 32 STORE("iconURLHdr", "") 33 STORE("dURL", "explorer.tela") 34 STORE("docType", "TELA-JS-1") 35 STORE("subDir", "") 36 STORE("fileCheckC", "1b622aa0dff9547f25f3da3c4300e6290aa8af4073f0d5cc0b7fc8699c0f1ef4") 37 STORE("fileCheckS", "126448d78244b1d650490f761d44d9cc2b41878b3928f682a8821715d799176c") 100 RETURN 0 End Function Function init() Uint64 10 IF EXISTS("owner") == 0 THEN GOTO 30 20 RETURN 1 30 STORE("owner", address()) 50 STORE("docVersion", "1.0.0") 60 STORE("hash", HEX(TXID())) 70 STORE("likes", 0) 80 STORE("dislikes", 0) 100 RETURN 0 End Function Function address() String 10 DIM s as String 20 LET s = SIGNER() 30 IF IS_ADDRESS_VALID(s) THEN GOTO 50 40 RETURN "anon" 50 RETURN ADDRESS_STRING(s) End Function Function Rate(r Uint64) Uint64 10 DIM addr as String 15 LET addr = address() 16 IF r < 100 && EXISTS(addr) == 0 && addr != "anon" THEN GOTO 30 20 RETURN 1 30 STORE(addr, ""+r+"_"+BLOCK_HEIGHT()) 40 IF r < 50 THEN GOTO 70 50 STORE("likes", LOAD("likes")+1) 60 RETURN 0 70 STORE("dislikes", LOAD("dislikes")+1) 100 RETURN 0 End Function /* ({ name: 'router', version: '1.0.0', // Helper function to ensure updateActiveNav works properly ensureActiveNavUpdate: function(page) { requestAnimationFrame(() => { setTimeout(async () => { try { if (!window.routerUtils && window.lm) { await window.lm('router-utils'); } if (window.updateActiveNav) { window.updateActiveNav(page); } else if (window.routerUtils && window.routerUtils.updateActiveNav) { window.routerUtils.updateActiveNav(page); } } catch (error) { console.warn('Failed to update active nav for ' + page + ':', error); } }, 50); }); }, // Handle route changes hr: function() { var hash = window.location.hash.slice(1); var parts = hash.split('/'); var route = parts[0]; var param = parts[1]; console.log('Router handling hash:', hash, 'route:', route, 'param:', param); // Cleanup: stop pool auto-refresh when leaving pool page if (window.r === 'pool' && route !== 'pool' && window.dashboardPool && window.dashboardPool.stopAutoRefresh) { window.dashboardPool.stopAutoRefresh(); } if (window.addToHistory) { window.addToHistory(hash || 'home'); } switch (route) { case 'block': this.lb(param); break; case 'tx': this.lt(param); break; case 'sc': this.lsc(param); break; case 'blocks': this.lbs(); this.ensureActiveNavUpdate('blocks'); break; case 'transactions': this.lts(); this.ensureActiveNavUpdate('transactions'); break; case 'smartcontracts': this.lscs(); this.ensureActiveNavUpdate('smartcontracts'); break; case 'network': this.ln(); this.ensureActiveNavUpdate('network'); break; case 'pool': this.lp(); this.ensureActiveNavUpdate('pool'); break; default: if (window.loadHome) { window.loadHome(); } } }, // Load block by height/hash lb: function(height) { console.log('Router loading block:', height); // Safety check: prevent loading invalid block heights if (!height || height === 'undefined' || height === 'null') { console.log('Invalid block height provided:', height); var output = document.getElementById('main-content'); output.innerHTML = '<div class="enhanced-card"><h3>Invalid Block</h3><p>Invalid block height or hash provided</p><button onclick="window.location.hash=\'blocks\'" style="margin-top:1rem;padding:0.5rem 1rem;background:#52c8db;color:#000;border:none;border-radius:4px;cursor:pointer;">← Back to Blocks</button></div>'; return; } if (window.setCurrentRoute) window.setCurrentRoute('block'); window.location.hash = 'block/' + height; var output = document.getElementById('main-content'); output.innerHTML = '<div class="loading-progress">Loading block...<div class="progress-bar"></div></div>'; if (!window.xswd || window.connectionStatus === 'error') { output.innerHTML = '<div class="enhanced-card"><h3>TELA connection required</h3></div>'; return; } window.lm('explorer').then(function(explorer) { if (explorer && explorer.loadBlock) { return explorer.loadBlock(height, window.gx); } else { output.innerHTML = '<div class="enhanced-card"><h3>Unable to load block module</h3></div>'; } }).catch(function(error) { output.innerHTML = '<div class="enhanced-card"><h3>Block loading failed</h3><p>' + error.message + '</p></div>'; }); }, // Load transaction by hash lt: function(txHash) { console.log('Router loading transaction:', txHash); // Safety check: prevent loading invalid transaction hashes if (!txHash || txHash === 'undefined' || txHash === 'null' || txHash.length < 32) { console.log('Invalid transaction hash provided:', txHash); var output = document.getElementById('main-content'); output.innerHTML = '<div class="enhanced-card"><h3>Invalid Transaction Hash</h3><p>Invalid transaction hash provided: ' + (txHash || 'empty') + '</p><button onclick="window.location.hash=\'transactions\'" style="margin-top:1rem;padding:0.5rem 1rem;background:#52c8db;color:#000;border:none;border-radius:4px;cursor:pointer;">← Back to Transactions</button></div>'; return; } if (window.setCurrentRoute) window.setCurrentRoute('tx'); window.location.hash = 'tx/' + txHash; var output = document.getElementById('main-content'); output.innerHTML = '<div class="loading-progress">Loading transaction...<div class="progress-bar"></div></div>'; if (!window.xswd || window.connectionStatus === 'error') { output.innerHTML = '<div class="enhanced-card"><h3>TELA connection required</h3></div>'; return; } // Load modular transaction system window.lm('transactions-core').then(function(coreModule) { if (coreModule && coreModule.renderEnhancedTransaction) { console.log('Using transactions-core module'); return coreModule.renderEnhancedTransaction(txHash, window.gx); } else { throw new Error('transactions-core module not available or missing renderEnhancedTransaction method'); } }).then(function(result) { output.innerHTML = result; }).catch(function(error) { console.error('Transaction loading error:', error); output.innerHTML = '<div class="enhanced-card"><h3>Transaction loading failed</h3><p>' + error.message + '</p><button onclick="window.location.hash=\'transactions\'" style="margin-top:1rem;padding:0.5rem 1rem;background:#52c8db;color:#000;border:none;border-radius:4px;cursor:pointer;">← Back to Transactions</button></div>'; }); }, // Load blocks page lbs: function() { if (window.setCurrentRoute) window.setCurrentRoute('blocks'); window.location.hash = 'blocks'; this.ensureActiveNavUpdate('blocks'); var output = document.getElementById('main-content'); output.innerHTML = '<div class="loading-progress">Loading blocks...<div class="progress-bar"></div></div>'; window.lm('explorer').then(function(explorer) { if (explorer && explorer.loadBlocks) { return explorer.loadBlocks(window.gx); } else { output.innerHTML = '<div class="enhanced-card"><h3>Unable to load blocks module</h3></div>'; } }).then(function() { // Restore active state after content loads setTimeout(() => { if (window.restoreActiveState) window.restoreActiveState(); }, 200); }).catch(function(error) { output.innerHTML = '<div class="enhanced-card"><h3>Blocks loading failed</h3><p>' + error.message + '</p></div>'; }); }, // Load transactions page lts: function() { if (window.setCurrentRoute) window.setCurrentRoute('transactions'); window.location.hash = 'transactions'; this.ensureActiveNavUpdate('transactions'); var output = document.getElementById('main-content'); output.innerHTML = '<div class="loading-progress">Loading transactions...<div class="progress-bar"></div></div>'; window.lm('explorer-transactions').then(function(transactionsModule) { if (transactionsModule && transactionsModule.loadTransactions) { return transactionsModule.loadTransactions(); } else { output.innerHTML = '<div class="enhanced-card"><h3>Unable to load transactions module</h3></div>'; } }).then(function() { // Restore active state after content loads setTimeout(() => { if (window.restoreActiveState) window.restoreActiveState(); }, 200); }).catch(function(error) { output.innerHTML = '<div class="enhanced-card"><h3>Transactions loading failed</h3><p>' + error.message + '</p></div>'; }); }, // Load network page ln: function() { if (window.setCurrentRoute) window.setCurrentRoute('network'); window.location.hash = 'network'; this.ensureActiveNavUpdate('network'); var output = document.getElementById('main-content'); output.innerHTML = '<div class="loading-progress">Loading network...<div class="progress-bar"></div></div>'; if (!window.xswd || window.connectionStatus === 'error') { output.innerHTML = '<div class="enhanced-card"><h3>TELA connection required</h3></div>'; return; } window.lm('network-ui').then(function(network) { if (network && network.loadNetwork) { return network.loadNetwork(window.gx); } else { output.innerHTML = '<div class="enhanced-card"><h3>Unable to load network UI module</h3></div>'; } }).then(function() { // Restore active state after content loads setTimeout(() => { if (window.restoreActiveState) window.restoreActiveState(); }, 200); }).catch(function(error) { output.innerHTML = '<div class="enhanced-card"><h3>Network loading failed</h3><p>' + error.message + '</p></div>'; }); }, // Load transaction pool page lp: function() { if (window.setCurrentRoute) window.setCurrentRoute('pool'); window.r = 'pool'; // Ensure route variable is set window.location.hash = 'pool'; this.ensureActiveNavUpdate('pool'); var output = document.getElementById('main-content'); output.innerHTML = '<div class="loading-progress">Loading transaction pool...<div class="progress-bar"></div></div>'; if (!window.xswd || window.connectionStatus === 'error') { output.innerHTML = '<div class="enhanced-card"><h3>TELA connection required</h3></div>'; return; } window.lm('dashboard-pool').then(function(poolModule) { if (poolModule && poolModule.renderPoolModule) { return poolModule.renderPoolModule(); } else { output.innerHTML = '<div class="enhanced-card"><h3>Unable to load pool module</h3></div>'; } }).then(function(poolHTML) { if (poolHTML) { output.innerHTML = poolHTML; // Initialize pool monitoring if available return window.lm('dashboard-pool').then(function(poolModule) { if (poolModule && poolModule.updateModule) { window.dashboardPool = poolModule; // Wait a bit for DOM to be ready, then update and start auto-refresh setTimeout(function() { poolModule.updateModule(); poolModule.startAutoRefresh(); // Restore active state after pool content loads if (window.restoreActiveState) window.restoreActiveState(); }, 100); } }); } }).catch(function(error) { output.innerHTML = '<div class="enhanced-card"><h3>Transaction pool loading failed</h3><p>' + error.message + '</p></div>'; }); }, // Load smart contracts page lscs: function() { if (window.setCurrentRoute) window.setCurrentRoute('smartcontracts'); window.location.hash = 'smartcontracts'; this.ensureActiveNavUpdate('smartcontracts'); var output = document.getElementById('main-content'); output.innerHTML = '<div class="loading-progress">Loading smart contracts...<div class="progress-bar"></div></div>'; if (!window.xswd || window.connectionStatus === 'error') { output.innerHTML = '<div class="enhanced-card"><h3>TELA connection required</h3></div>'; return; } window.lm('smartcontracts').then(function(smartcontracts) { if (!smartcontracts) { throw new Error('Failed to load smartcontracts module'); } // Make smart contracts functions globally available window.smartcontracts = smartcontracts; if (smartcontracts.searchSC) { window.searchSC = smartcontracts.searchSC; } if (smartcontracts.discoverActive) { window.discoverActiveSC = smartcontracts.discoverActive.bind(smartcontracts); } if (smartcontracts.quickSearch) { window.quickSearchSC = smartcontracts.quickSearch.bind(smartcontracts); } return smartcontracts.renderSmartContracts(window.gx); }).then(function(result) { // Handle both Promise and direct string results if (result && typeof result.then === 'function') { return result.then(function(html) { output.innerHTML = html; }); } else { output.innerHTML = result; } // Restore active state after content loads setTimeout(() => { if (window.restoreActiveState) window.restoreActiveState(); }, 200); }).catch(function(error) { output.innerHTML = '<div class="enhanced-card"><h3>Smart contracts loading failed</h3><p>' + error.message + '</p></div>'; }); }, // Load smart contract details lsc: function(scid) { if (window.setCurrentRoute) window.setCurrentRoute('sc'); window.location.hash = 'sc/' + scid; this.ensureActiveNavUpdate('smartcontracts'); var output = document.getElementById('main-content'); output.innerHTML = '<div class="loading-progress">Loading smart contract...<div class="progress-bar"></div></div>'; if (!window.xswd || window.connectionStatus === 'error') { output.innerHTML = '<div class="enhanced-card"><h3>TELA connection required</h3></div>'; return; } window.lm('smartcontracts').then(function(smartcontracts) { if (!smartcontracts) { throw new Error('Failed to load smartcontracts module'); } // Make smart contracts functions globally available window.smartcontracts = smartcontracts; if (smartcontracts.searchSC) { window.searchSC = smartcontracts.searchSC; } return smartcontracts.renderSCDetails(scid, window.gx); }).then(function(result) { output.innerHTML = result; }).catch(function(error) { output.innerHTML = '<div class="enhanced-card"><h3>Smart contract loading failed</h3><p>' + error.message + '</p></div>'; }); }, // Load blocks page (incremental/alternative) loadBlocksIncremental: function() { this.lbs(); }, // Navigate to specific block navigateToBlock: function(height) { window.location.hash = 'block/' + height; }, // Update active navigation button (delegates to utils) updateActiveNav: function(page) { if (window.routerUtils) { window.routerUtils.updateActiveNav(page); } } }); // Note: Global router functions moved to router-utils.js for better organization */']


Prove to someone that you have sent them DERO in this transaction

proof can be obtained using wallet command in dero-wallet-cli or from the statement
Note: proof is sent to the server, as the calculations are done on the server side


TX hex bytes
0100000500c287ef023149bfe4c777538c2d6cae8b861b0947cef7df87f6093131792d41bcff04a26e0100000000000000000000000000000000000000000000000000000000000000000000349c1daf1914425939eca86cb5392281f59ff039190eb3e8a210c612f4d5f39abd5b541f53af2896644b05e37dba4b6782172ef8268f0dbebb7b0ca80188cff1f51a1627ad1a78676d080db7a6498df262764beb4dab40ec2aea83c6ce1a4a4de7f15a7d998c8bdfa8adf815364328e381c266139de241088f4e21b4c96565d035ba5d2c8758aa5ad3a46af13a05ad73e70406d08d010e1413b401b652a0308ccf40217b247c676940d87cb63040187b9f5eccf42d8a01df64376994856eea12adf44dff8f6c5070113c894bd046a923212a1485860dab3a9bac03635d6e4e248247db9517b4575c50de5dfda82a9f8cb8285e983b381da8fc147632eeb22689a1b85dad60f562f0d0d8f2ca23a66c9a879ee7b0e93ed02a5a8caa077ccb44e75020d36ed1ca0153981f85a184f28ec2108ae3b806128f001b34ad502f7abd2933cfaeed4423b93a2e28dd4cf73ee6562ebb40645c1c429f002bff2b3f4073ce6c59e8e69ddf671a9e8904080d33ae835843d528c66bed880901282a04af416462513a6b2274c6ec441d8e28bfade365cc264a88dbbefbed01b6011c332912645d39d1aad73ef754105e95ef1613d023d653a1a9802aadaf509135010bec8c0069f05869dc08e7e76f84bb10fc2d1f3604353e1dfda71e0ecf6a5d98011de115c0fd6b80336c333572083a20879cdcae7c6e2087ba9dd5c5edeb50436b00282eb964933ed534fecdbf73426cb8e19973f2dcfee51940f740ac83b93a4a11002f5715c753e7becaf1b6e72c69463feae4108c12b029ab5142b6dc1ca5d56f3d011f050a4a34adf19fbfb698f6ec30c4697cf7ad89c3058496e88dbe193b0cd45e002cadbcb42323fd5d5378110f507fdd098fd31c45f017456d976c872f5001d82f0113c8508687173f1f21a92459f8e32018ac9f44cae462779cb89d6e3aac26807001105dca3d93eea9f662a39ca85d4150399ee0e150c34a68c45b20da121de9c5c80119a4690ce2959de7d60749ea58bb7659bafa1b3f1786430e6084aed603d92c73002a4b8de6fa881c79cd2f84cbc0d13af86af5c1ecd3bd427bae478987cc7d3aad01119cfafdc04ae89e19972f64b47d5f18d481ae02ba045b1774f21b838e0667c501a3de22eee403e110f98fa864c137895adf4088a2608e2585beda61b53d4c7bb0c18b01a26853435f434f4445537945a846756e6374696f6e20496e697469616c697a655072697661746528292055696e7436340a313020494620696e69742829203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226e616d65486472222c2022726f757465722e6a7322290a33312053544f524528226465736372486472222c202255524c206861736820726f7574696e672073797374656d22290a33322053544f5245282269636f6e55524c486472222c202222290a33332053544f524528226455524c222c20226578706c6f7265722e74656c6122290a33342053544f52452822646f6354797065222c202254454c412d4a532d3122290a33352053544f52452822737562446972222c202222290a33362053544f5245282266696c65436865636b43222c20223162363232616130646666393534376632356633646133633433303065363239306161386166343037336630643563633062376663383639396330663165663422290a33372053544f5245282266696c65436865636b53222c20223132363434386437383234346231643635303439306637363164343464396363326234313837386233393238663638326138383231373135643739393137366322290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e20696e697428292055696e7436340a31302049462045584953545328226f776e65722229203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226f776e6572222c20616464726573732829290a35302053544f52452822646f6356657273696f6e222c2022312e302e3022290a36302053544f5245282268617368222c204845582854584944282929290a37302053544f524528226c696b6573222c2030290a38302053544f524528226469736c696b6573222c2030290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e2061646472657373282920537472696e670a31302044494d207320617320537472696e670a3230204c45542073203d205349474e455228290a33302049462049535f414444524553535f56414c4944287329205448454e20474f544f2035300a34302052455455524e2022616e6f6e220a35302052455455524e20414444524553535f535452494e472873290a456e642046756e6374696f6e0a0a46756e6374696f6e205261746528722055696e743634292055696e7436340a31302044494d206164647220617320537472696e670a3135204c45542061646472203d206164647265737328290a31362049462072203c2031303020262620455849535453286164647229203d3d2030202626206164647220213d2022616e6f6e22205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528616464722c2022222b722b225f222b424c4f434b5f4845494748542829290a34302049462072203c203530205448454e20474f544f2037300a35302053544f524528226c696b6573222c204c4f414428226c696b657322292b31290a36302052455455524e20300a37302053544f524528226469736c696b6573222c204c4f414428226469736c696b657322292b31290a3130302052455455524e20300a456e642046756e6374696f6e0a0a2f2a0a287b0a202020206e616d653a2027726f75746572272c0a2020202076657273696f6e3a2027312e302e30272c0a0a202020202f2f2048656c7065722066756e6374696f6e20746f20656e73757265207570646174654163746976654e617620776f726b732070726f7065726c790a20202020656e737572654163746976654e61765570646174653a2066756e6374696f6e287061676529207b0a202020202020202072657175657374416e696d6174696f6e4672616d65282829203d3e207b0a20202020202020202020202073657454696d656f7574286173796e63202829203d3e207b0a20202020202020202020202020202020747279207b0a2020202020202020202020202020202020202020696620282177696e646f772e726f757465725574696c732026262077696e646f772e6c6d29207b0a20202020202020202020202020202020202020202020202061776169742077696e646f772e6c6d2827726f757465722d7574696c7327293b0a20202020202020202020202020202020202020207d0a20202020202020202020202020202020202020200a20202020202020202020202020202020202020206966202877696e646f772e7570646174654163746976654e617629207b0a20202020202020202020202020202020202020202020202077696e646f772e7570646174654163746976654e61762870616765293b0a20202020202020202020202020202020202020207d20656c7365206966202877696e646f772e726f757465725574696c732026262077696e646f772e726f757465725574696c732e7570646174654163746976654e617629207b0a20202020202020202020202020202020202020202020202077696e646f772e726f757465725574696c732e7570646174654163746976654e61762870616765293b0a20202020202020202020202020202020202020207d0a202020202020202020202020202020207d20636174636820286572726f7229207b0a2020202020202020202020202020202020202020636f6e736f6c652e7761726e28274661696c656420746f2075706461746520616374697665206e617620666f722027202b2070616765202b20273a272c206572726f72293b0a202020202020202020202020202020207d0a2020202020202020202020207d2c203530293b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f2048616e646c6520726f757465206368616e6765730a2020202068723a2066756e6374696f6e2829207b0a20202020202020207661722068617368203d2077696e646f772e6c6f636174696f6e2e686173682e736c6963652831293b0a2020202020202020766172207061727473203d20686173682e73706c697428272f27293b0a202020202020202076617220726f757465203d2070617274735b305d3b0a202020202020202076617220706172616d203d2070617274735b315d3b0a20202020202020200a2020202020202020636f6e736f6c652e6c6f672827526f757465722068616e646c696e6720686173683a272c20686173682c2027726f7574653a272c20726f7574652c2027706172616d3a272c20706172616d293b0a20202020202020200a20202020202020202f2f20436c65616e75703a2073746f7020706f6f6c206175746f2d72656672657368207768656e206c656176696e6720706f6f6c20706167650a20202020202020206966202877696e646f772e72203d3d3d2027706f6f6c2720262620726f75746520213d3d2027706f6f6c272026262077696e646f772e64617368626f617264506f6f6c2026262077696e646f772e64617368626f617264506f6f6c2e73746f704175746f5265667265736829207b0a20202020202020202020202077696e646f772e64617368626f617264506f6f6c2e73746f704175746f5265667265736828293b0a20202020202020207d0a20202020202020200a20202020202020206966202877696e646f772e616464546f486973746f727929207b0a20202020202020202020202077696e646f772e616464546f486973746f72792868617368207c7c2027686f6d6527293b0a20202020202020207d0a20202020202020200a20202020202020207377697463682028726f75746529207b0a202020202020202020202020636173652027626c6f636b273a0a20202020202020202020202020202020746869732e6c6228706172616d293b0a20202020202020202020202020202020627265616b3b0a2020202020202020202020206361736520277478273a0a20202020202020202020202020202020746869732e6c7428706172616d293b0a20202020202020202020202020202020627265616b3b0a2020202020202020202020206361736520277363273a0a20202020202020202020202020202020746869732e6c736328706172616d293b0a20202020202020202020202020202020627265616b3b0a202020202020202020202020636173652027626c6f636b73273a0a20202020202020202020202020202020746869732e6c627328293b0a20202020202020202020202020202020746869732e656e737572654163746976654e61765570646174652827626c6f636b7327293b0a20202020202020202020202020202020627265616b3b0a2020202020202020202020206361736520277472616e73616374696f6e73273a0a20202020202020202020202020202020746869732e6c747328293b0a20202020202020202020202020202020746869732e656e737572654163746976654e617655706461746528277472616e73616374696f6e7327293b0a20202020202020202020202020202020627265616b3b0a202020202020202020202020636173652027736d617274636f6e747261637473273a0a20202020202020202020202020202020746869732e6c73637328293b0a20202020202020202020202020202020746869732e656e737572654163746976654e61765570646174652827736d617274636f6e74726163747327293b0a20202020202020202020202020202020627265616b3b0a2020202020202020202020206361736520276e6574776f726b273a0a20202020202020202020202020202020746869732e6c6e28293b0a20202020202020202020202020202020746869732e656e737572654163746976654e617655706461746528276e6574776f726b27293b0a20202020202020202020202020202020627265616b3b0a202020202020202020202020636173652027706f6f6c273a0a20202020202020202020202020202020746869732e6c7028293b0a20202020202020202020202020202020746869732e656e737572654163746976654e61765570646174652827706f6f6c27293b0a20202020202020202020202020202020627265616b3b0a0a20202020202020202020202064656661756c743a0a202020202020202020202020202020206966202877696e646f772e6c6f6164486f6d6529207b0a202020202020202020202020202020202020202077696e646f772e6c6f6164486f6d6528293b0a202020202020202020202020202020207d0a20202020202020207d0a202020207d2c0a0a202020202f2f204c6f616420626c6f636b206279206865696768742f686173680a202020206c623a2066756e6374696f6e2868656967687429207b0a2020202020202020636f6e736f6c652e6c6f672827526f75746572206c6f6164696e6720626c6f636b3a272c20686569676874293b0a20202020202020200a20202020202020202f2f2053616665747920636865636b3a2070726576656e74206c6f6164696e6720696e76616c696420626c6f636b20686569676874730a20202020202020206966202821686569676874207c7c20686569676874203d3d3d2027756e646566696e656427207c7c20686569676874203d3d3d20276e756c6c2729207b0a202020202020202020202020636f6e736f6c652e6c6f672827496e76616c696420626c6f636b206865696768742070726f76696465643a272c20686569676874293b0a202020202020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e496e76616c696420426c6f636b3c2f68333e3c703e496e76616c696420626c6f636b20686569676874206f7220686173682070726f76696465643c2f703e3c627574746f6e206f6e636c69636b3d2277696e646f772e6c6f636174696f6e2e686173683d5c27626c6f636b735c2722207374796c653d226d617267696e2d746f703a3172656d3b70616464696e673a302e3572656d203172656d3b6261636b67726f756e643a233532633864623b636f6c6f723a233030303b626f726465723a6e6f6e653b626f726465722d7261646975733a3470783b637572736f723a706f696e7465723b223ee28690204261636b20746f20426c6f636b733c2f627574746f6e3e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f7574652827626c6f636b27293b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d2027626c6f636b2f27202b206865696768743b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e6720626c6f636b2e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a2020202020202020696620282177696e646f772e78737764207c7c2077696e646f772e636f6e6e656374696f6e537461747573203d3d3d20276572726f722729207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e54454c4120636f6e6e656374696f6e2072657175697265643c2f68333e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a202020202020202077696e646f772e6c6d28276578706c6f72657227292e7468656e2866756e6374696f6e286578706c6f72657229207b0a202020202020202020202020696620286578706c6f726572202626206578706c6f7265722e6c6f6164426c6f636b29207b0a2020202020202020202020202020202072657475726e206578706c6f7265722e6c6f6164426c6f636b286865696768742c2077696e646f772e6778293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e556e61626c6520746f206c6f616420626c6f636b206d6f64756c653c2f68333e3c2f6469763e273b0a2020202020202020202020207d0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e426c6f636b206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f6164207472616e73616374696f6e20627920686173680a202020206c743a2066756e6374696f6e2874784861736829207b0a2020202020202020636f6e736f6c652e6c6f672827526f75746572206c6f6164696e67207472616e73616374696f6e3a272c20747848617368293b0a20202020202020200a20202020202020202f2f2053616665747920636865636b3a2070726576656e74206c6f6164696e6720696e76616c6964207472616e73616374696f6e206861736865730a20202020202020206966202821747848617368207c7c20747848617368203d3d3d2027756e646566696e656427207c7c20747848617368203d3d3d20276e756c6c27207c7c207478486173682e6c656e677468203c20333229207b0a202020202020202020202020636f6e736f6c652e6c6f672827496e76616c6964207472616e73616374696f6e20686173682070726f76696465643a272c20747848617368293b0a202020202020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e496e76616c6964205472616e73616374696f6e20486173683c2f68333e3c703e496e76616c6964207472616e73616374696f6e20686173682070726f76696465643a2027202b2028747848617368207c7c2027656d7074792729202b20273c2f703e3c627574746f6e206f6e636c69636b3d2277696e646f772e6c6f636174696f6e2e686173683d5c277472616e73616374696f6e735c2722207374796c653d226d617267696e2d746f703a3172656d3b70616464696e673a302e3572656d203172656d3b6261636b67726f756e643a233532633864623b636f6c6f723a233030303b626f726465723a6e6f6e653b626f726465722d7261646975733a3470783b637572736f723a706f696e7465723b223ee28690204261636b20746f205472616e73616374696f6e733c2f627574746f6e3e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f7574652827747827293b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d202774782f27202b207478486173683b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e67207472616e73616374696f6e2e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a2020202020202020696620282177696e646f772e78737764207c7c2077696e646f772e636f6e6e656374696f6e537461747573203d3d3d20276572726f722729207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e54454c4120636f6e6e656374696f6e2072657175697265643c2f68333e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a20202020202020202f2f204c6f6164206d6f64756c6172207472616e73616374696f6e2073797374656d0a202020202020202077696e646f772e6c6d28277472616e73616374696f6e732d636f726527292e7468656e2866756e6374696f6e28636f72654d6f64756c6529207b0a20202020202020202020202069662028636f72654d6f64756c6520262620636f72654d6f64756c652e72656e646572456e68616e6365645472616e73616374696f6e29207b0a20202020202020202020202020202020636f6e736f6c652e6c6f6728275573696e67207472616e73616374696f6e732d636f7265206d6f64756c6527293b0a2020202020202020202020202020202072657475726e20636f72654d6f64756c652e72656e646572456e68616e6365645472616e73616374696f6e287478486173682c2077696e646f772e6778293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020207468726f77206e6577204572726f7228277472616e73616374696f6e732d636f7265206d6f64756c65206e6f7420617661696c61626c65206f72206d697373696e672072656e646572456e68616e6365645472616e73616374696f6e206d6574686f6427293b0a2020202020202020202020207d0a20202020202020207d292e7468656e2866756e6374696f6e28726573756c7429207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20726573756c743b0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a202020202020202020202020636f6e736f6c652e6572726f7228275472616e73616374696f6e206c6f6164696e67206572726f723a272c206572726f72293b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e5472616e73616374696f6e206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c627574746f6e206f6e636c69636b3d2277696e646f772e6c6f636174696f6e2e686173683d5c277472616e73616374696f6e735c2722207374796c653d226d617267696e2d746f703a3172656d3b70616464696e673a302e3572656d203172656d3b6261636b67726f756e643a233532633864623b636f6c6f723a233030303b626f726465723a6e6f6e653b626f726465722d7261646975733a3470783b637572736f723a706f696e7465723b223ee28690204261636b20746f205472616e73616374696f6e733c2f627574746f6e3e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f616420626c6f636b7320706167650a202020206c62733a2066756e6374696f6e2829207b0a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f7574652827626c6f636b7327293b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d2027626c6f636b73273b0a2020202020202020746869732e656e737572654163746976654e61765570646174652827626c6f636b7327293b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e6720626c6f636b732e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a202020202020202077696e646f772e6c6d28276578706c6f72657227292e7468656e2866756e6374696f6e286578706c6f72657229207b0a202020202020202020202020696620286578706c6f726572202626206578706c6f7265722e6c6f6164426c6f636b7329207b0a2020202020202020202020202020202072657475726e206578706c6f7265722e6c6f6164426c6f636b732877696e646f772e6778293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e556e61626c6520746f206c6f616420626c6f636b73206d6f64756c653c2f68333e3c2f6469763e273b0a2020202020202020202020207d0a20202020202020207d292e7468656e2866756e6374696f6e2829207b0a2020202020202020202020202f2f20526573746f72652061637469766520737461746520616674657220636f6e74656e74206c6f6164730a20202020202020202020202073657454696d656f7574282829203d3e207b0a202020202020202020202020202020206966202877696e646f772e726573746f72654163746976655374617465292077696e646f772e726573746f7265416374697665537461746528293b0a2020202020202020202020207d2c20323030293b0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e426c6f636b73206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f6164207472616e73616374696f6e7320706167650a202020206c74733a2066756e6374696f6e2829207b0a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f75746528277472616e73616374696f6e7327293b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d20277472616e73616374696f6e73273b0a2020202020202020746869732e656e737572654163746976654e617655706461746528277472616e73616374696f6e7327293b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e67207472616e73616374696f6e732e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a202020202020202077696e646f772e6c6d28276578706c6f7265722d7472616e73616374696f6e7327292e7468656e2866756e6374696f6e287472616e73616374696f6e734d6f64756c6529207b0a202020202020202020202020696620287472616e73616374696f6e734d6f64756c65202626207472616e73616374696f6e734d6f64756c652e6c6f61645472616e73616374696f6e7329207b0a2020202020202020202020202020202072657475726e207472616e73616374696f6e734d6f64756c652e6c6f61645472616e73616374696f6e7328293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e556e61626c6520746f206c6f6164207472616e73616374696f6e73206d6f64756c653c2f68333e3c2f6469763e273b0a2020202020202020202020207d0a20202020202020207d292e7468656e2866756e6374696f6e2829207b0a2020202020202020202020202f2f20526573746f72652061637469766520737461746520616674657220636f6e74656e74206c6f6164730a20202020202020202020202073657454696d656f7574282829203d3e207b0a202020202020202020202020202020206966202877696e646f772e726573746f72654163746976655374617465292077696e646f772e726573746f7265416374697665537461746528293b0a2020202020202020202020207d2c20323030293b0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e5472616e73616374696f6e73206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f6164206e6574776f726b20706167650a202020206c6e3a2066756e6374696f6e2829207b0a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f75746528276e6574776f726b27293b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d20276e6574776f726b273b0a2020202020202020746869732e656e737572654163746976654e617655706461746528276e6574776f726b27293b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e67206e6574776f726b2e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a2020202020202020696620282177696e646f772e78737764207c7c2077696e646f772e636f6e6e656374696f6e537461747573203d3d3d20276572726f722729207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e54454c4120636f6e6e656374696f6e2072657175697265643c2f68333e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a202020202020202077696e646f772e6c6d28276e6574776f726b2d756927292e7468656e2866756e6374696f6e286e6574776f726b29207b0a202020202020202020202020696620286e6574776f726b202626206e6574776f726b2e6c6f61644e6574776f726b29207b0a2020202020202020202020202020202072657475726e206e6574776f726b2e6c6f61644e6574776f726b2877696e646f772e6778293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e556e61626c6520746f206c6f6164206e6574776f726b205549206d6f64756c653c2f68333e3c2f6469763e273b0a2020202020202020202020207d0a20202020202020207d292e7468656e2866756e6374696f6e2829207b0a2020202020202020202020202f2f20526573746f72652061637469766520737461746520616674657220636f6e74656e74206c6f6164730a20202020202020202020202073657454696d656f7574282829203d3e207b0a202020202020202020202020202020206966202877696e646f772e726573746f72654163746976655374617465292077696e646f772e726573746f7265416374697665537461746528293b0a2020202020202020202020207d2c20323030293b0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e4e6574776f726b206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f6164207472616e73616374696f6e20706f6f6c20706167650a202020206c703a2066756e6374696f6e2829207b0a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f7574652827706f6f6c27293b0a202020202020202077696e646f772e72203d2027706f6f6c273b202f2f20456e7375726520726f757465207661726961626c65206973207365740a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d2027706f6f6c273b0a2020202020202020746869732e656e737572654163746976654e61765570646174652827706f6f6c27293b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e67207472616e73616374696f6e20706f6f6c2e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a2020202020202020696620282177696e646f772e78737764207c7c2077696e646f772e636f6e6e656374696f6e537461747573203d3d3d20276572726f722729207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e54454c4120636f6e6e656374696f6e2072657175697265643c2f68333e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a202020202020202077696e646f772e6c6d282764617368626f6172642d706f6f6c27292e7468656e2866756e6374696f6e28706f6f6c4d6f64756c6529207b0a20202020202020202020202069662028706f6f6c4d6f64756c6520262620706f6f6c4d6f64756c652e72656e646572506f6f6c4d6f64756c6529207b0a2020202020202020202020202020202072657475726e20706f6f6c4d6f64756c652e72656e646572506f6f6c4d6f64756c6528293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e556e61626c6520746f206c6f616420706f6f6c206d6f64756c653c2f68333e3c2f6469763e273b0a2020202020202020202020207d0a20202020202020207d292e7468656e2866756e6374696f6e28706f6f6c48544d4c29207b0a20202020202020202020202069662028706f6f6c48544d4c29207b0a202020202020202020202020202020206f75747075742e696e6e657248544d4c203d20706f6f6c48544d4c3b0a202020202020202020202020202020202f2f20496e697469616c697a6520706f6f6c206d6f6e69746f72696e6720696620617661696c61626c650a2020202020202020202020202020202072657475726e2077696e646f772e6c6d282764617368626f6172642d706f6f6c27292e7468656e2866756e6374696f6e28706f6f6c4d6f64756c6529207b0a202020202020202020202020202020202020202069662028706f6f6c4d6f64756c6520262620706f6f6c4d6f64756c652e7570646174654d6f64756c6529207b0a20202020202020202020202020202020202020202020202077696e646f772e64617368626f617264506f6f6c203d20706f6f6c4d6f64756c653b0a2020202020202020202020202020202020202020202020202f2f205761697420612062697420666f7220444f4d20746f2062652072656164792c207468656e2075706461746520616e64207374617274206175746f2d726566726573680a20202020202020202020202020202020202020202020202073657454696d656f75742866756e6374696f6e2829207b0a20202020202020202020202020202020202020202020202020202020706f6f6c4d6f64756c652e7570646174654d6f64756c6528293b0a20202020202020202020202020202020202020202020202020202020706f6f6c4d6f64756c652e73746172744175746f5265667265736828293b0a202020202020202020202020202020202020202020202020202020202f2f20526573746f72652061637469766520737461746520616674657220706f6f6c20636f6e74656e74206c6f6164730a202020202020202020202020202020202020202020202020202020206966202877696e646f772e726573746f72654163746976655374617465292077696e646f772e726573746f7265416374697665537461746528293b0a2020202020202020202020202020202020202020202020207d2c20313030293b0a20202020202020202020202020202020202020207d0a202020202020202020202020202020207d293b0a2020202020202020202020207d0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e5472616e73616374696f6e20706f6f6c206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f616420736d61727420636f6e74726163747320706167650a202020206c7363733a2066756e6374696f6e2829207b0a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f7574652827736d617274636f6e74726163747327293b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d2027736d617274636f6e747261637473273b0a2020202020202020746869732e656e737572654163746976654e61765570646174652827736d617274636f6e74726163747327293b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e6720736d61727420636f6e7472616374732e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a2020202020202020696620282177696e646f772e78737764207c7c2077696e646f772e636f6e6e656374696f6e537461747573203d3d3d20276572726f722729207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e54454c4120636f6e6e656374696f6e2072657175697265643c2f68333e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a202020202020202077696e646f772e6c6d2827736d617274636f6e74726163747327292e7468656e2866756e6374696f6e28736d617274636f6e74726163747329207b0a2020202020202020202020206966202821736d617274636f6e74726163747329207b0a202020202020202020202020202020207468726f77206e6577204572726f7228274661696c656420746f206c6f616420736d617274636f6e747261637473206d6f64756c6527293b0a2020202020202020202020207d0a2020202020202020202020200a2020202020202020202020202f2f204d616b6520736d61727420636f6e7472616374732066756e6374696f6e7320676c6f62616c6c7920617661696c61626c650a20202020202020202020202077696e646f772e736d617274636f6e747261637473203d20736d617274636f6e7472616374733b0a20202020202020202020202069662028736d617274636f6e7472616374732e736561726368534329207b0a2020202020202020202020202020202077696e646f772e7365617263685343203d20736d617274636f6e7472616374732e73656172636853433b0a2020202020202020202020207d0a20202020202020202020202069662028736d617274636f6e7472616374732e646973636f76657241637469766529207b0a2020202020202020202020202020202077696e646f772e646973636f7665724163746976655343203d20736d617274636f6e7472616374732e646973636f7665724163746976652e62696e6428736d617274636f6e747261637473293b0a2020202020202020202020207d0a20202020202020202020202069662028736d617274636f6e7472616374732e717569636b53656172636829207b0a2020202020202020202020202020202077696e646f772e717569636b5365617263685343203d20736d617274636f6e7472616374732e717569636b5365617263682e62696e6428736d617274636f6e747261637473293b0a2020202020202020202020207d0a2020202020202020202020200a20202020202020202020202072657475726e20736d617274636f6e7472616374732e72656e646572536d617274436f6e7472616374732877696e646f772e6778293b0a20202020202020207d292e7468656e2866756e6374696f6e28726573756c7429207b0a2020202020202020202020202f2f2048616e646c6520626f74682050726f6d69736520616e642064697265637420737472696e6720726573756c74730a20202020202020202020202069662028726573756c7420262620747970656f6620726573756c742e7468656e203d3d3d202766756e6374696f6e2729207b0a2020202020202020202020202020202072657475726e20726573756c742e7468656e2866756e6374696f6e2868746d6c29207b0a20202020202020202020202020202020202020206f75747075742e696e6e657248544d4c203d2068746d6c3b0a202020202020202020202020202020207d293b0a2020202020202020202020207d20656c7365207b0a202020202020202020202020202020206f75747075742e696e6e657248544d4c203d20726573756c743b0a2020202020202020202020207d0a2020202020202020202020202f2f20526573746f72652061637469766520737461746520616674657220636f6e74656e74206c6f6164730a20202020202020202020202073657454696d656f7574282829203d3e207b0a202020202020202020202020202020206966202877696e646f772e726573746f72654163746976655374617465292077696e646f772e726573746f7265416374697665537461746528293b0a2020202020202020202020207d2c20323030293b0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e536d61727420636f6e747261637473206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f616420736d61727420636f6e74726163742064657461696c730a202020206c73633a2066756e6374696f6e287363696429207b0a20202020202020206966202877696e646f772e73657443757272656e74526f757465292077696e646f772e73657443757272656e74526f7574652827736327293b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d202773632f27202b20736369643b0a2020202020202020746869732e656e737572654163746976654e61765570646174652827736d617274636f6e74726163747327293b0a20202020202020200a2020202020202020766172206f7574707574203d20646f63756d656e742e676574456c656d656e744279496428276d61696e2d636f6e74656e7427293b0a20202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d226c6f6164696e672d70726f6772657373223e4c6f6164696e6720736d61727420636f6e74726163742e2e2e3c64697620636c6173733d2270726f67726573732d626172223e3c2f6469763e3c2f6469763e273b0a20202020202020200a2020202020202020696620282177696e646f772e78737764207c7c2077696e646f772e636f6e6e656374696f6e537461747573203d3d3d20276572726f722729207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e54454c4120636f6e6e656374696f6e2072657175697265643c2f68333e3c2f6469763e273b0a20202020202020202020202072657475726e3b0a20202020202020207d0a20202020202020200a202020202020202077696e646f772e6c6d2827736d617274636f6e74726163747327292e7468656e2866756e6374696f6e28736d617274636f6e74726163747329207b0a2020202020202020202020206966202821736d617274636f6e74726163747329207b0a202020202020202020202020202020207468726f77206e6577204572726f7228274661696c656420746f206c6f616420736d617274636f6e747261637473206d6f64756c6527293b0a2020202020202020202020207d0a2020202020202020202020200a2020202020202020202020202f2f204d616b6520736d61727420636f6e7472616374732066756e6374696f6e7320676c6f62616c6c7920617661696c61626c650a20202020202020202020202077696e646f772e736d617274636f6e747261637473203d20736d617274636f6e7472616374733b0a20202020202020202020202069662028736d617274636f6e7472616374732e736561726368534329207b0a2020202020202020202020202020202077696e646f772e7365617263685343203d20736d617274636f6e7472616374732e73656172636853433b0a2020202020202020202020207d0a2020202020202020202020200a20202020202020202020202072657475726e20736d617274636f6e7472616374732e72656e646572534344657461696c7328736369642c2077696e646f772e6778293b0a20202020202020207d292e7468656e2866756e6374696f6e28726573756c7429207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20726573756c743b0a20202020202020207d292e63617463682866756e6374696f6e286572726f7229207b0a2020202020202020202020206f75747075742e696e6e657248544d4c203d20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e536d61727420636f6e7472616374206c6f6164696e67206661696c65643c2f68333e3c703e27202b206572726f722e6d657373616765202b20273c2f703e3c2f6469763e273b0a20202020202020207d293b0a202020207d2c0a0a202020202f2f204c6f616420626c6f636b7320706167652028696e6372656d656e74616c2f616c7465726e6174697665290a202020206c6f6164426c6f636b73496e6372656d656e74616c3a2066756e6374696f6e2829207b0a0a2020202020202020746869732e6c627328293b0a202020207d2c0a0a0a0a202020202f2f204e6176696761746520746f20737065636966696320626c6f636b0a202020206e61766967617465546f426c6f636b3a2066756e6374696f6e2868656967687429207b0a202020202020202077696e646f772e6c6f636174696f6e2e68617368203d2027626c6f636b2f27202b206865696768743b0a202020207d2c0a0a202020202f2f2055706461746520616374697665206e617669676174696f6e20627574746f6e202864656c65676174657320746f207574696c73290a202020207570646174654163746976654e61763a2066756e6374696f6e287061676529207b0a20202020202020206966202877696e646f772e726f757465725574696c7329207b0a20202020202020202020202077696e646f772e726f757465725574696c732e7570646174654163746976654e61762870616765293b0a20202020202020207d0a202020207d0a7d293b0a0a2f2f204e6f74653a20476c6f62616c20726f757465722066756e6374696f6e73206d6f76656420746f20726f757465722d7574696c732e6a7320666f7220626574746572206f7267616e697a6174696f6e0a2a2f6a53435f414354494f4e55012c6bb8e97d0d70d9ed6b905ff025c6296f3b52d81f21726615429a337331a00a01125a5e2ff6d703280fba08b8a7517d12019aa7d647b80ebda4ecc763fc2cc987000c8d1f8a8afb7e32ff20cd57ae13a5d868456d2041712f7314f7553de1441f96011ddeeea3b01ee9000ee9f61523af1c2c01280586348a3a202aefcd2308e23daf001037d9b9c0f358317d408a5600fdfd62e5bc8fce297811fdf07d720ae76889f9000d2abf67f4c96e3e3ec397522c5ce1774d8cbc9b155f58a0a17fba1d37f4fcb2001b723991edc6a3d568565853059f9978db0ab0772f41bf7d136ba0a19997de200103a05c2113ff0f9a96199fe8712607c5afa4a11cb35aebdbcfc81d3b2d9ce572000a66bf16529cfabc2ee0039c2052374334f772afa5d1e5d7ea84bb4ac944b59f0005b25b6e3cd414bcc51fa0b0496d4ea0759c54490e31cad967b62bcb9bb469f200234915a946bea6b0a9f81bbf824465c6642fe971ce6773460c4dcff484ee0d060130350dd2b0484f1a67955c99269230b2784effcf9273a1e39ff5427df44c537a011ab3825addcee446cd13f1fe473992f13c7ce2d51d48fd81e90302d2d383f5bd0116d7532c5c2692221fdf8ad391853a6be6bc35aa5e212cd2346da2ade4823fce0012627665e1098616d1be5d7a74dbc1aa65f881f5fe648eb8876779ec8e00f75c012dba1668039e213bfc22ef069d1ca86baf05e369779b46ff6006cb03e7397fc40024427524a3b2a55d7e2dcdbcfe345bab147bdd4dd5d00f9ba10406313793e8f500052a17728b8240bf46f09bb152f59bfb37f9c3c2f8ef007c767a8d0ea7f288e4012f8807b1703188233d9555cf133bbfac8ebadcc3fa7d6f9c06134064b3609df600056529498ce5cc2a9cd1749a33733d5210ba8ef11096b534876d5f5195f35929001614535ab2b5c828a9df3fd68ec7cf5253e344b48acc97a83b958135a0c1fc110000c0039fe2f316c355a349489c532ddc6591878e84271628a73fe99bcf99917d010ef38e2a1cbfdece0d4f6b49d41ef10ad37737f384c891d7d4a75b41a735b27d0115613cfd8e4c41e0751ad02233d6d979eb754a2f5e6d367411b896e68ecf82830118e1ffc7b36aa26308a94c890f7b1e2389ae96c8a8bd7ebcdc0d483de517d3ac011f39db38c50862f177a455f6db3ee8b02547e624c6f9ea775ef916c150c70f600028d6665117fad2525c7fa6ff80af3c50b1c289fc78ce729baeaa7dd992929fdf0100b38299411c332bdb3d5b73f033cfdf13acad6bfb534abe43c592681f03e45d000b8eec31062439230e262cdc185eb758e319ce2394935eb615cc1f36c37e27ac001683b010eeffb7f689baf4b54371699ccb14755ce6e4c27f3cd77a3a725c6960012f76aa222280f2fb19f7427f7ef637a40f39a27bdfd7000ea98edbe2d33a65fd002d989807302db7be62a4d042796f46cd4f776e75d50fc530e9217d9460fd12da011bb54b8ac21f3da1f93ffb082fab0419b1c5c58dcd66b7c68d34d6b8b34099dd012c78b1f40b16d85041a596624c1b37402b2c24d2f0da77424c21a0f52c89a57f0014ad1b82fc43108451846c1905124737119ff495fea9318440a2dde89bc69aef0002b63d7c6e974f0e40b63809238b69752cf745bd4a236d94da367aaab4463cd9012dc6fbc4b1782e50b65c237623d71776e89f3d278b11f7d39543e4f20bf4a4cd010759c5eaa7190dc03cfc10af6b94caddc70b91b96b1144ad48b48f0118b954600f84bdb35fb3dbf5f1566329398ee186e11e787c01491cc1efd30d392071945b0634ed89db8857436d3e26153f041565575a82fbae30a31ccabf12c95431680224df494b2d0f2b3f4e162d508f7341c0d5899423b3e0136824a849ecf0f913d9000000000000000000000000000000000000000000000000000000000000000014c512fb20c87efc8befb9a1c0c165f3d3f6850a8538351f40368c5c56e67ed30fda6f918a4f4564958e2a9d839d766ca4703ea29f43cc881a99ed22477e301a0465d3e2732b058d71557da6c658d0a0f3d68b1bca12a1abce008117326a869c27eec7396bae77e4f3b9769da0e2feb7ba8507b2fed27d413cd6455ef36d55fd20bd631463ffa65b59152d9b669dcc478c5dd6ec31c315d56fbffd7eca760ae2011739b42f06d24dd25024ca8814faaf5dd774e081a0ffe393b2d36d87dc31d2c4002e669f9b60a0d41f3e948838f12d1d5eb8933f27ac3f779943d8d652925778e81f214aa0bbbe9005848d5fbac3ee915e0d8b86a64121b55506fdf86a8fe1abef061ee9b305ae431ef50c0bc48290fd5436e39ba64565afed83fbaed246e980912108a10420b33d0d0737710ffacc40f3a17dfac67b0f5b505f3a137ac876f24b1bc0d105a1f027d55d5708ffc1f69f7eeffe06e1892ebe4617b1e7a0224d788230208be5d8eeb33820e06f3e7199e37eb286349869287cb20325f29d188e0bf00c7b047984c51b2c82f8956d9fcdff2bb8e1b1ac58582b2256d84dc6fab0f0270c7eb128b60c6db35bc621482ebb3c8105f42526f34ce40b6d208c5949da3efd098379e47be40efbca5b6b24cd9b3ba1c928f364413dfab2b59a9cb42af5fda71894894bce1eeb0a213ae530ef7e43ecaecd09ff07b231318cfb81df0ecf575301033faf73f737f64c6c62d8b585851835a3a3086adf4f42e53c67687f12f1261800219c34af83eb97b33f066fe34672f2ee59a089f67dbf452500a1df25ad967e4a0122d239f0226d5f1a5868f6abb088c240e54ae95039123f34c63be33cfb1ff6260025b1c856e95259f8b21a22b196a978a6dc1f843d2fa80aa1cd834617def8e0520108fd8d6f4a7127c206934bf92b16dbd37a5b2814d8ac42d0f36368d12859b6330126e9506f700fa63e2d323e960197766b0308710f6cd9fdac54ea8fbb5bd3517a010a53ecd376fd4f14c78dd1a04535c3c80f3bd8e3154f3d1ef5108a15b83797030119b9405d34d58f2732df1b23b77acd792c27eef98f1faba5baffe3111c9cc1b90017c3edf2adaf2e7fd0a3fdf361f82802624d9dce6123e150dd5bbcf327797ccc002babda12086320334fad2896d6fd9a61857387e76aff7e10cc0af77fb512344c012eb760d7c5a2b865d92f2891359643e8e20726c60ffa0cb1d31490302bde5d460013efc84c57a9d8cf2d3188c476d3ff81c21c613076476273da8f95d921442bf901212a6ce3d4785ba26e37cc4c107db9292e417493bc9eb270e863772845f6bcc601
DERO explorer source code | explorer version (api): under development (1.0) | dero version: golang pre-alpha | Copyright 2017-2025 Dero Project