Sonic Blaze Testnet

Tools

Bytecode to Opcode Disassembler

Attempts to decode the low level Contract Bytecodes to Opcodes.

Decoded Bytecode:
  • [0] PUSH1 0x80
  • [1] PUSH1 0x40
  • [2] MSTORE
  • [3] CALLVALUE
  • [4] DUP1
  • [5] ISZERO
  • [6] PUSH2 0x0010
  • [7] JUMPI
  • [8] PUSH1 0x00
  • [9] DUP1
  • [10] REVERT
  • [11] JUMPDEST
  • [12] POP
  • [13] PUSH1 0x04
  • [14] CALLDATASIZE
  • [15] LT
  • [16] PUSH2 0x0036
  • [17] JUMPI
  • [18] PUSH1 0x00
  • [19] CALLDATALOAD
  • [20] PUSH1 0xe0
  • [21] SHR
  • [22] DUP1
  • [23] PUSH4 0x440c93e2
  • [24] EQ
  • [25] PUSH2 0x003b
  • [26] JUMPI
  • [27] DUP1
  • [28] PUSH4 0xe655b7bb
  • [29] EQ
  • [30] PUSH2 0x006b
  • [31] JUMPI
  • [32] JUMPDEST
  • [33] PUSH1 0x00
  • [34] DUP1
  • [35] REVERT
  • [36] JUMPDEST
  • [37] PUSH2 0x0055
  • [38] PUSH1 0x04
  • [39] DUP1
  • [40] CALLDATASIZE
  • [41] SUB
  • [42] DUP2
  • [43] ADD
  • [44] SWAP1
  • [45] PUSH2 0x0050
  • [46] SWAP2
  • [47] SWAP1
  • [48] PUSH2 0x03e5
  • [49] JUMP
  • [50] JUMPDEST
  • [51] PUSH2 0x009b
  • [52] JUMP
  • [53] JUMPDEST
  • [54] PUSH1 0x40
  • [55] MLOAD
  • [56] PUSH2 0x0062
  • [57] SWAP2
  • [58] SWAP1
  • [59] PUSH2 0x04a2
  • [60] JUMP
  • [61] JUMPDEST
  • [62] PUSH1 0x40
  • [63] MLOAD
  • [64] DUP1
  • [65] SWAP2
  • [66] SUB
  • [67] SWAP1
  • [68] RETURN
  • [69] JUMPDEST
  • [70] PUSH2 0x0085
  • [71] PUSH1 0x04
  • [72] DUP1
  • [73] CALLDATASIZE
  • [74] SUB
  • [75] DUP2
  • [76] ADD
  • [77] SWAP1
  • [78] PUSH2 0x0080
  • [79] SWAP2
  • [80] SWAP1
  • [81] PUSH2 0x03e5
  • [82] JUMP
  • [83] JUMPDEST
  • [84] PUSH2 0x01e7
  • [85] JUMP
  • [86] JUMPDEST
  • [87] PUSH1 0x40
  • [88] MLOAD
  • [89] PUSH2 0x0092
  • [90] SWAP2
  • [91] SWAP1
  • [92] PUSH2 0x04a2
  • [93] JUMP
  • [94] JUMPDEST
  • [95] PUSH1 0x40
  • [96] MLOAD
  • [97] DUP1
  • [98] SWAP2
  • [99] SUB
  • [100] SWAP1
  • [101] RETURN
  • [102] JUMPDEST
  • [103] PUSH1 0x60
  • [104] PUSH1 0x00
  • [105] PUSH1 0x03
  • [106] DUP4
  • [107] PUSH2 0x00ac
  • [108] SWAP2
  • [109] SWAP1
  • [110] PUSH2 0x04f3
  • [111] JUMP
  • [112] JUMPDEST
  • [113] EQ
  • [114] DUP1
  • [115] ISZERO
  • [116] PUSH2 0x00c5
  • [117] JUMPI
  • [118] POP
  • [119] PUSH1 0x00
  • [120] PUSH1 0x05
  • [121] DUP4
  • [122] PUSH2 0x00c3
  • [123] SWAP2
  • [124] SWAP1
  • [125] PUSH2 0x04f3
  • [126] JUMP
  • [127] JUMPDEST
  • [128] EQ
  • [129] JUMPDEST
  • [130] ISZERO
  • [131] PUSH2 0x0107
  • [132] JUMPI
  • [133] PUSH1 0x40
  • [134] MLOAD
  • [135] DUP1
  • [136] PUSH1 0x40
  • [137] ADD
  • [138] PUSH1 0x40
  • [139] MSTORE
  • [140] DUP1
  • [141] PUSH1 0x08
  • [142] DUP2
  • [143] MSTORE
  • [144] PUSH1 0x20
  • [145] ADD
  • [146] PUSH32 0x46697a7a42757a7a000000000000000000000000000000000000000000000000
  • [147] DUP2
  • [148] MSTORE
  • [149] POP
  • [150] SWAP1
  • [151] POP
  • [152] PUSH2 0x01e2
  • [153] JUMP
  • [154] JUMPDEST
  • [155] PUSH1 0x00
  • [156] PUSH1 0x03
  • [157] DUP4
  • [158] PUSH2 0x0116
  • [159] SWAP2
  • [160] SWAP1
  • [161] PUSH2 0x04f3
  • [162] JUMP
  • [163] JUMPDEST
  • [164] SUB
  • [165] PUSH2 0x0158
  • [166] JUMPI
  • [167] PUSH1 0x40
  • [168] MLOAD
  • [169] DUP1
  • [170] PUSH1 0x40
  • [171] ADD
  • [172] PUSH1 0x40
  • [173] MSTORE
  • [174] DUP1
  • [175] PUSH1 0x04
  • [176] DUP2
  • [177] MSTORE
  • [178] PUSH1 0x20
  • [179] ADD
  • [180] PUSH32 0x46697a7a00000000000000000000000000000000000000000000000000000000
  • [181] DUP2
  • [182] MSTORE
  • [183] POP
  • [184] SWAP1
  • [185] POP
  • [186] PUSH2 0x01e2
  • [187] JUMP
  • [188] JUMPDEST
  • [189] PUSH1 0x00
  • [190] PUSH1 0x05
  • [191] DUP4
  • [192] PUSH2 0x0167
  • [193] SWAP2
  • [194] SWAP1
  • [195] PUSH2 0x04f3
  • [196] JUMP
  • [197] JUMPDEST
  • [198] SUB
  • [199] PUSH2 0x01a9
  • [200] JUMPI
  • [201] PUSH1 0x40
  • [202] MLOAD
  • [203] DUP1
  • [204] PUSH1 0x40
  • [205] ADD
  • [206] PUSH1 0x40
  • [207] MSTORE
  • [208] DUP1
  • [209] PUSH1 0x04
  • [210] DUP2
  • [211] MSTORE
  • [212] PUSH1 0x20
  • [213] ADD
  • [214] PUSH32 0x42757a7a00000000000000000000000000000000000000000000000000000000
  • [215] DUP2
  • [216] MSTORE
  • [217] POP
  • [218] SWAP1
  • [219] POP
  • [220] PUSH2 0x01e2
  • [221] JUMP
  • [222] JUMPDEST
  • [223] PUSH1 0x40
  • [224] MLOAD
  • [225] DUP1
  • [226] PUSH1 0x40
  • [227] ADD
  • [228] PUSH1 0x40
  • [229] MSTORE
  • [230] DUP1
  • [231] PUSH1 0x05
  • [232] DUP2
  • [233] MSTORE
  • [234] PUSH1 0x20
  • [235] ADD
  • [236] PUSH32 0x53706c6174000000000000000000000000000000000000000000000000000000
  • [237] DUP2
  • [238] MSTORE
  • [239] POP
  • [240] SWAP1
  • [241] POP
  • [242] JUMPDEST
  • [243] SWAP2
  • [244] SWAP1
  • [245] POP
  • [246] JUMP
  • [247] JUMPDEST
  • [248] PUSH1 0x60
  • [249] PUSH2 0x0960
  • [250] DUP3
  • [251] LT
  • [252] PUSH2 0x01fb
  • [253] JUMPI
  • [254] PUSH2 0x01fa
  • [255] PUSH2 0x0524
  • [256] JUMP
  • [257] JUMPDEST
  • [258] JUMPDEST
  • [259] PUSH2 0x0898
  • [260] DUP3
  • [261] GT
  • [262] DUP1
  • [263] PUSH2 0x020c
  • [264] JUMPI
  • [265] POP
  • [266] PUSH2 0x0320
  • [267] DUP3
  • [268] LT
  • [269] JUMPDEST
  • [270] ISZERO
  • [271] PUSH2 0x024e
  • [272] JUMPI
  • [273] DUP2
  • [274] PUSH1 0x40
  • [275] MLOAD
  • [276] PUSH32 0xa4bf701e00000000000000000000000000000000000000000000000000000000
  • [277] DUP2
  • [278] MSTORE
  • [279] PUSH1 0x04
  • [280] ADD
  • [281] PUSH2 0x0245
  • [282] SWAP2
  • [283] SWAP1
  • [284] PUSH2 0x0562
  • [285] JUMP
  • [286] JUMPDEST
  • [287] PUSH1 0x40
  • [288] MLOAD
  • [289] DUP1
  • [290] SWAP2
  • [291] SUB
  • [292] SWAP1
  • [293] REVERT
  • [294] JUMPDEST
  • [295] PUSH2 0x04b0
  • [296] DUP3
  • [297] LT
  • [298] ISZERO
  • [299] DUP1
  • [300] ISZERO
  • [301] PUSH2 0x0262
  • [302] JUMPI
  • [303] POP
  • [304] PUSH2 0x0513
  • [305] DUP3
  • [306] GT
  • [307] ISZERO
  • [308] JUMPDEST
  • [309] ISZERO
  • [310] PUSH2 0x02a2
  • [311] JUMPI
  • [312] PUSH1 0x40
  • [313] MLOAD
  • [314] PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
  • [315] DUP2
  • [316] MSTORE
  • [317] PUSH1 0x04
  • [318] ADD
  • [319] PUSH2 0x0299
  • [320] SWAP1
  • [321] PUSH2 0x05c9
  • [322] JUMP
  • [323] JUMPDEST
  • [324] PUSH1 0x40
  • [325] MLOAD
  • [326] DUP1
  • [327] SWAP2
  • [328] SUB
  • [329] SWAP1
  • [330] REVERT
  • [331] JUMPDEST
  • [332] PUSH2 0x0320
  • [333] DUP3
  • [334] LT
  • [335] ISZERO
  • [336] DUP1
  • [337] ISZERO
  • [338] PUSH2 0x02b6
  • [339] JUMPI
  • [340] POP
  • [341] PUSH2 0x04af
  • [342] DUP3
  • [343] GT
  • [344] ISZERO
  • [345] JUMPDEST
  • [346] ISZERO
  • [347] PUSH2 0x02f8
  • [348] JUMPI
  • [349] PUSH1 0x40
  • [350] MLOAD
  • [351] DUP1
  • [352] PUSH1 0x40
  • [353] ADD
  • [354] PUSH1 0x40
  • [355] MSTORE
  • [356] DUP1
  • [357] PUSH1 0x08
  • [358] DUP2
  • [359] MSTORE
  • [360] PUSH1 0x20
  • [361] ADD
  • [362] PUSH32 0x4d6f726e696e6721000000000000000000000000000000000000000000000000
  • [363] DUP2
  • [364] MSTORE
  • [365] POP
  • [366] SWAP1
  • [367] POP
  • [368] PUSH2 0x03a5
  • [369] JUMP
  • [370] JUMPDEST
  • [371] PUSH2 0x0514
  • [372] DUP3
  • [373] LT
  • [374] ISZERO
  • [375] DUP1
  • [376] ISZERO
  • [377] PUSH2 0x030c
  • [378] JUMPI
  • [379] POP
  • [380] PUSH2 0x0707
  • [381] DUP3
  • [382] GT
  • [383] ISZERO
  • [384] JUMPDEST
  • [385] ISZERO
  • [386] PUSH2 0x034e
  • [387] JUMPI
  • [388] PUSH1 0x40
  • [389] MLOAD
  • [390] DUP1
  • [391] PUSH1 0x40
  • [392] ADD
  • [393] PUSH1 0x40
  • [394] MSTORE
  • [395] DUP1
  • [396] PUSH1 0x0a
  • [397] DUP2
  • [398] MSTORE
  • [399] PUSH1 0x20
  • [400] ADD
  • [401] PUSH32 0x41667465726e6f6f6e2100000000000000000000000000000000000000000000
  • [402] DUP2
  • [403] MSTORE
  • [404] POP
  • [405] SWAP1
  • [406] POP
  • [407] PUSH2 0x03a5
  • [408] JUMP
  • [409] JUMPDEST
  • [410] PUSH2 0x0708
  • [411] DUP3
  • [412] LT
  • [413] ISZERO
  • [414] DUP1
  • [415] ISZERO
  • [416] PUSH2 0x0362
  • [417] JUMPI
  • [418] POP
  • [419] PUSH2 0x0898
  • [420] DUP3
  • [421] GT
  • [422] ISZERO
  • [423] JUMPDEST
  • [424] ISZERO
  • [425] PUSH2 0x03a4
  • [426] JUMPI
  • [427] PUSH1 0x40
  • [428] MLOAD
  • [429] DUP1
  • [430] PUSH1 0x40
  • [431] ADD
  • [432] PUSH1 0x40
  • [433] MSTORE
  • [434] DUP1
  • [435] PUSH1 0x08
  • [436] DUP2
  • [437] MSTORE
  • [438] PUSH1 0x20
  • [439] ADD
  • [440] PUSH32 0x4576656e696e6721000000000000000000000000000000000000000000000000
  • [441] DUP2
  • [442] MSTORE
  • [443] POP
  • [444] SWAP1
  • [445] POP
  • [446] PUSH2 0x03a5
  • [447] JUMP
  • [448] JUMPDEST
  • [449] JUMPDEST
  • [450] SWAP2
  • [451] SWAP1
  • [452] POP
  • [453] JUMP
  • [454] JUMPDEST
  • [455] PUSH1 0x00
  • [456] DUP1
  • [457] REVERT
  • [458] JUMPDEST
  • [459] PUSH1 0x00
  • [460] DUP2
  • [461] SWAP1
  • [462] POP
  • [463] SWAP2
  • [464] SWAP1
  • [465] POP
  • [466] JUMP
  • [467] JUMPDEST
  • [468] PUSH2 0x03c2
  • [469] DUP2
  • [470] PUSH2 0x03af
  • [471] JUMP
  • [472] JUMPDEST
  • [473] DUP2
  • [474] EQ
  • [475] PUSH2 0x03cd
  • [476] JUMPI
  • [477] PUSH1 0x00
  • [478] DUP1
  • [479] REVERT
  • [480] JUMPDEST
  • [481] POP
  • [482] JUMP
  • [483] JUMPDEST
  • [484] PUSH1 0x00
  • [485] DUP2
  • [486] CALLDATALOAD
  • [487] SWAP1
  • [488] POP
  • [489] PUSH2 0x03df
  • [490] DUP2
  • [491] PUSH2 0x03b9
  • [492] JUMP
  • [493] JUMPDEST
  • [494] SWAP3
  • [495] SWAP2
  • [496] POP
  • [497] POP
  • [498] JUMP
  • [499] JUMPDEST
  • [500] PUSH1 0x00
  • [501] PUSH1 0x20
  • [502] DUP3
  • [503] DUP5
  • [504] SUB
  • [505] SLT
  • [506] ISZERO
  • [507] PUSH2 0x03fb
  • [508] JUMPI
  • [509] PUSH2 0x03fa
  • [510] PUSH2 0x03aa
  • [511] JUMP
  • [512] JUMPDEST
  • [513] JUMPDEST
  • [514] PUSH1 0x00
  • [515] PUSH2 0x0409
  • [516] DUP5
  • [517] DUP3
  • [518] DUP6
  • [519] ADD
  • [520] PUSH2 0x03d0
  • [521] JUMP
  • [522] JUMPDEST
  • [523] SWAP2
  • [524] POP
  • [525] POP
  • [526] SWAP3
  • [527] SWAP2
  • [528] POP
  • [529] POP
  • [530] JUMP
  • [531] JUMPDEST
  • [532] PUSH1 0x00
  • [533] DUP2
  • [534] MLOAD
  • [535] SWAP1
  • [536] POP
  • [537] SWAP2
  • [538] SWAP1
  • [539] POP
  • [540] JUMP
  • [541] JUMPDEST
  • [542] PUSH1 0x00
  • [543] DUP3
  • [544] DUP3
  • [545] MSTORE
  • [546] PUSH1 0x20
  • [547] DUP3
  • [548] ADD
  • [549] SWAP1
  • [550] POP
  • [551] SWAP3
  • [552] SWAP2
  • [553] POP
  • [554] POP
  • [555] JUMP
  • [556] JUMPDEST
  • [557] PUSH1 0x00
  • [558] JUMPDEST
  • [559] DUP4
  • [560] DUP2
  • [561] LT
  • [562] ISZERO
  • [563] PUSH2 0x044c
  • [564] JUMPI
  • [565] DUP1
  • [566] DUP3
  • [567] ADD
  • [568] MLOAD
  • [569] DUP2
  • [570] DUP5
  • [571] ADD
  • [572] MSTORE
  • [573] PUSH1 0x20
  • [574] DUP2
  • [575] ADD
  • [576] SWAP1
  • [577] POP
  • [578] PUSH2 0x0431
  • [579] JUMP
  • [580] JUMPDEST
  • [581] PUSH1 0x00
  • [582] DUP5
  • [583] DUP5
  • [584] ADD
  • [585] MSTORE
  • [586] POP
  • [587] POP
  • [588] POP
  • [589] POP
  • [590] JUMP
  • [591] JUMPDEST
  • [592] PUSH1 0x00
  • [593] PUSH1 0x1f
  • [594] NOT
  • [595] PUSH1 0x1f
  • [596] DUP4
  • [597] ADD
  • [598] AND
  • [599] SWAP1
  • [600] POP
  • [601] SWAP2
  • [602] SWAP1
  • [603] POP
  • [604] JUMP
  • [605] JUMPDEST
  • [606] PUSH1 0x00
  • [607] PUSH2 0x0474
  • [608] DUP3
  • [609] PUSH2 0x0412
  • [610] JUMP
  • [611] JUMPDEST
  • [612] PUSH2 0x047e
  • [613] DUP2
  • [614] DUP6
  • [615] PUSH2 0x041d
  • [616] JUMP
  • [617] JUMPDEST
  • [618] SWAP4
  • [619] POP
  • [620] PUSH2 0x048e
  • [621] DUP2
  • [622] DUP6
  • [623] PUSH1 0x20
  • [624] DUP7
  • [625] ADD
  • [626] PUSH2 0x042e
  • [627] JUMP
  • [628] JUMPDEST
  • [629] PUSH2 0x0497
  • [630] DUP2
  • [631] PUSH2 0x0458
  • [632] JUMP
  • [633] JUMPDEST
  • [634] DUP5
  • [635] ADD
  • [636] SWAP2
  • [637] POP
  • [638] POP
  • [639] SWAP3
  • [640] SWAP2
  • [641] POP
  • [642] POP
  • [643] JUMP
  • [644] JUMPDEST
  • [645] PUSH1 0x00
  • [646] PUSH1 0x20
  • [647] DUP3
  • [648] ADD
  • [649] SWAP1
  • [650] POP
  • [651] DUP2
  • [652] DUP2
  • [653] SUB
  • [654] PUSH1 0x00
  • [655] DUP4
  • [656] ADD
  • [657] MSTORE
  • [658] PUSH2 0x04bc
  • [659] DUP2
  • [660] DUP5
  • [661] PUSH2 0x0469
  • [662] JUMP
  • [663] JUMPDEST
  • [664] SWAP1
  • [665] POP
  • [666] SWAP3
  • [667] SWAP2
  • [668] POP
  • [669] POP
  • [670] JUMP
  • [671] JUMPDEST
  • [672] PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
  • [673] PUSH1 0x00
  • [674] MSTORE
  • [675] PUSH1 0x12
  • [676] PUSH1 0x04
  • [677] MSTORE
  • [678] PUSH1 0x24
  • [679] PUSH1 0x00
  • [680] REVERT
  • [681] JUMPDEST
  • [682] PUSH1 0x00
  • [683] PUSH2 0x04fe
  • [684] DUP3
  • [685] PUSH2 0x03af
  • [686] JUMP
  • [687] JUMPDEST
  • [688] SWAP2
  • [689] POP
  • [690] PUSH2 0x0509
  • [691] DUP4
  • [692] PUSH2 0x03af
  • [693] JUMP
  • [694] JUMPDEST
  • [695] SWAP3
  • [696] POP
  • [697] DUP3
  • [698] PUSH2 0x0519
  • [699] JUMPI
  • [700] PUSH2 0x0518
  • [701] PUSH2 0x04c4
  • [702] JUMP
  • [703] JUMPDEST
  • [704] JUMPDEST
  • [705] DUP3
  • [706] DUP3
  • [707] MOD
  • [708] SWAP1
  • [709] POP
  • [710] SWAP3
  • [711] SWAP2
  • [712] POP
  • [713] POP
  • [714] JUMP
  • [715] JUMPDEST
  • [716] PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
  • [717] PUSH1 0x00
  • [718] MSTORE
  • [719] PUSH1 0x01
  • [720] PUSH1 0x04
  • [721] MSTORE
  • [722] PUSH1 0x24
  • [723] PUSH1 0x00
  • [724] REVERT
  • [725] JUMPDEST
  • [726] PUSH2 0x055c
  • [727] DUP2
  • [728] PUSH2 0x03af
  • [729] JUMP
  • [730] JUMPDEST
  • [731] DUP3
  • [732] MSTORE
  • [733] POP
  • [734] POP
  • [735] JUMP
  • [736] JUMPDEST
  • [737] PUSH1 0x00
  • [738] PUSH1 0x20
  • [739] DUP3
  • [740] ADD
  • [741] SWAP1
  • [742] POP
  • [743] PUSH2 0x0577
  • [744] PUSH1 0x00
  • [745] DUP4
  • [746] ADD
  • [747] DUP5
  • [748] PUSH2 0x0553
  • [749] JUMP
  • [750] JUMPDEST
  • [751] SWAP3
  • [752] SWAP2
  • [753] POP
  • [754] POP
  • [755] JUMP
  • [756] JUMPDEST
  • [757] PUSH32 0x4174206c756e6368210000000000000000000000000000000000000000000000
  • [758] PUSH1 0x00
  • [759] DUP3
  • [760] ADD
  • [761] MSTORE
  • [762] POP
  • [763] JUMP
  • [764] JUMPDEST
  • [765] PUSH1 0x00
  • [766] PUSH2 0x05b3
  • [767] PUSH1 0x09
  • [768] DUP4
  • [769] PUSH2 0x041d
  • [770] JUMP
  • [771] JUMPDEST
  • [772] SWAP2
  • [773] POP
  • [774] PUSH2 0x05be
  • [775] DUP3
  • [776] PUSH2 0x057d
  • [777] JUMP
  • [778] JUMPDEST
  • [779] PUSH1 0x20
  • [780] DUP3
  • [781] ADD
  • [782] SWAP1
  • [783] POP
  • [784] SWAP2
  • [785] SWAP1
  • [786] POP
  • [787] JUMP
  • [788] JUMPDEST
  • [789] PUSH1 0x00
  • [790] PUSH1 0x20
  • [791] DUP3
  • [792] ADD
  • [793] SWAP1
  • [794] POP
  • [795] DUP2
  • [796] DUP2
  • [797] SUB
  • [798] PUSH1 0x00
  • [799] DUP4
  • [800] ADD
  • [801] MSTORE
  • [802] PUSH2 0x05e2
  • [803] DUP2
  • [804] PUSH2 0x05a6
  • [805] JUMP
  • [806] JUMPDEST
  • [807] SWAP1
  • [808] POP
  • [809] SWAP2
  • [810] SWAP1
  • [811] POP
  • [812] JUMP
  • [813] 'fe'(Unknown Opcode)
  • [814] LOG2
  • [815] PUSH5 0x6970667358
  • [816] '22'(Unknown Opcode)
  • [817] SLT
  • [818] SHA3
  • [819] PUSH25 0xab0fe71497695f55666dd3ea884e1abf8028e95b88a4010313
  • [820] EXTCODEHASH
  • [821] 'ac'(Unknown Opcode)
  • [822] DUP2
  • [823] MOD
  • [824] 'bd'(Unknown Opcode)
  • [825] ORIGIN
  • [826] PUSH5 0x736f6c6343
  • [827] STOP
  • [828] ADDMOD
  • [829] GT
  • [830] STOP
  • [831] CALLER