aboutsummaryrefslogtreecommitdiffstats
path: root/src/GeneralStateTestsFiller/stStaticCall
diff options
context:
space:
mode:
authorDimitry <winsvega@mail.ru>2017-06-01 19:48:57 +0800
committerDimitry <winsvega@mail.ru>2017-06-01 19:48:57 +0800
commit9a9cdac9ba9e85a2457aaae673781cadebff7103 (patch)
tree3d29603c42eb81147fe5963a460a8ab308019245 /src/GeneralStateTestsFiller/stStaticCall
parent6b8b58d56f6c87fc9dd934edd8dfc70a25404210 (diff)
downloaddexon-tests-9a9cdac9ba9e85a2457aaae673781cadebff7103.tar
dexon-tests-9a9cdac9ba9e85a2457aaae673781cadebff7103.tar.gz
dexon-tests-9a9cdac9ba9e85a2457aaae673781cadebff7103.tar.bz2
dexon-tests-9a9cdac9ba9e85a2457aaae673781cadebff7103.tar.lz
dexon-tests-9a9cdac9ba9e85a2457aaae673781cadebff7103.tar.xz
dexon-tests-9a9cdac9ba9e85a2457aaae673781cadebff7103.tar.zst
dexon-tests-9a9cdac9ba9e85a2457aaae673781cadebff7103.zip
more staticcall tests
Diffstat (limited to 'src/GeneralStateTestsFiller/stStaticCall')
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls1Filler.json126
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls2Filler.json146
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls3Filler.json146
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcallsSuicide0Filler.json116
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024BalanceTooLow2Filler.json103
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024BalanceTooLowFiller.json113
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024OOGFiller.json105
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024PreCalls2Filler.json115
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024PreCalls3Filler.json107
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024PreCallsFiller.json118
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call10Filler.json111
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call1MB1024CalldepthFiller.json119
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000Filler.json155
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_ecrecFiller.json134
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_identity2Filler.json97
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_identityFiller.json134
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_rip160Filler.json99
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_sha256Filler.json144
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000bytesContract50_1Filler.json158
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000bytesContract50_2Filler.json160
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000bytesContract50_3Filler.json158
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_CallAndCallcodeConsumeMoreGasThenTransactionHasFiller.json128
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_CallAskMoreGasOnDepth2ThenTransactionHasFiller.json159
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00Filler.json146
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00_OOGE_2Filler.json110
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000Filler.json176
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGEFiller.json152
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGMAfter2Filler.json99
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGMBeforeFiller.json98
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_ABCB_RECURSIVEFiller.json86
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001Filler.json162
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_2Filler.json152
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGEFiller.json106
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGE_2Filler.json114
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfterFiller.json118
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfter_2Filler.json115
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfter_3Filler.json107
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMBeforeFiller.json116
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_SuicideEndFiller.json104
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_SuicideMiddleFiller.json103
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_ABCB_RECURSIVE2Filler.json86
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_ABCB_RECURSIVEFiller.json90
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcode_01_SuicideEndFiller.json91
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CALL_OneVCallSuicideFiller.json94
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CALL_ZeroVCallSuicideFiller.json94
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_ContractSuicideDuringInit_WithValueToItselfFiller.json148
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContractCreateEContractInInit_TrFiller.json84
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContractCreateNEContractInInitOOG_TrFiller.json115
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContractCreateNEContractInInit_TrFiller.json90
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContract_ThenCALLToNonExistentAccFiller.json121
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractAndCallIt_0weiFiller.json112
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractAndCallIt_1weiFiller.json115
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json135
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractWithStorageAndCallIt_1weiFiller.json114
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractWithStorageFiller.json129
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_empty000CreateinInitCode_TransactionFiller.json94
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallContractToCreateContractOOGBonusGasFiller.json124
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json133
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_0inputFiller.json60
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_NoGasFiller.json84
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb0Filler.json90
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json77
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombLog2Filler.json90
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombLogFiller.json90
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombPreCallFiller.json102
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorNotMuchMemory1Filler.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorOutOfGasFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorTooMuchMemory0Filler.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorTooMuchMemory1Filler.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorTooMuchMemory2Filler.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorZeorSizeMemExpansionFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternalCallHittingGasLimitSuccessFiller.json68
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternlCallStoreClearsSuccesFiller.json84
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_LoopCallsThenRevertFiller.json114
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NewGasPriceForCodesFiller.json154
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL2Filler.json88
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL_ToEmptyFiller.json113
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL_ToNonNonZeroBalanceFiller.json91
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL_ToOneStorageKeyFiller.json123
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasAskFiller.json95
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasFiller.json95
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferAskFiller.json95
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferFiller.json95
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferMemoryAskFiller.json95
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferMemoryFiller.json95
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallMemoryGasAskFiller.json95
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallMemoryGasFiller.json95
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Return50000_2Filler.json90
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertDepthCreateAddressCollisionFiller.json222
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertDepthCreateOOGFiller.json178
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeCallsFiller.json299
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeDirectCallFiller.json116
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeMultipleSubCallsFiller.json412
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeReturnFiller.json157
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrecompiledTouchFiller.json135
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundCallFiller.json105
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundEmptyCallFiller.json101
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundEmptyCallOOGFiller.json71
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_StoreClearsAndInternlCallStoreClearsOOGFiller.json101
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_StoreClearsAndInternlCallStoreClearsSuccessFiller.json89
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicideToExistingContractFiller.json91
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicideToNotExistingContractFiller.json109
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesBonusGasAtCallFailedFiller.json66
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesBonusGasAtCallFiller.json84
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesOOGFiller.json72
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesSuccessFiller.json82
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesStopAfterSuicideFiller.json73
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_TouchToEmptyAccountRevert3Filler.json91
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_TouchToEmptyAccountRevertFiller.json77
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Transaction64Rule_d64m1Filler.json96
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Transaction64Rule_d64p1Filler.json76
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToEmpty_OOGRevertFiller.json76
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToNonZeroBalance_OOGRevertFiller.json76
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToOneStorageKey2Filler.json95
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToOneStorageKey_OOGRevertFiller.json77
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_ToEmpty_OOGRevertFiller.json79
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_ToNonZeroBalance_OOGRevertFiller.json79
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_ToOneStorageKey_OOGRevertFiller.json82
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011Filler.json98
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGEFiller.json106
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGE_2Filler.json99
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfter2Filler.json98
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfterFiller.json108
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfter_1Filler.json105
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMBefore2Filler.json98
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMBeforeFiller.json150
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideEnd2Filler.json80
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideEndFiller.json135
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideMiddle2Filler.json94
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideMiddleFiller.json112
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json113
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_ABCB_RECURSIVEFiller.json152
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10Filler.json115
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_2Filler.json83
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_OOGEFiller.json123
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_SuicideEnd2Filler.json78
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_SuicideEndFiller.json108
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100Filler.json134
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_2Filler.json95
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGE2Filler.json99
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGEFiller.json148
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfter2Filler.json132
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfterFiller.json150
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfter_2Filler.json147
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfter_3Filler.json133
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMBefore2Filler.json104
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMBeforeFiller.json150
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideEnd2Filler.json91
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideEndFiller.json139
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideMiddleFiller.json127
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_ABCB_RECURSIVE2Filler.json113
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_ABCB_RECURSIVEFiller.json167
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101Filler.json152
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_2Filler.json91
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGEFiller.json148
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGE_2Filler.json99
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfter2Filler.json136
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfterFiller.json150
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfter_1Filler.json131
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfter_3Filler.json147
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMBefore2Filler.json101
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMBeforeFiller.json150
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideEnd2Filler.json84
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideEndFiller.json143
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideMiddle2Filler.json93
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideMiddleFiller.json127
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json113
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_ABCB_RECURSIVEFiller.json167
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_1102Filler.json91
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110Filler.json140
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGE2Filler.json100
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGEFiller.json150
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfter2Filler.json136
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfterFiller.json150
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfter_2Filler.json147
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfter_3Filler.json141
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMBefore2Filler.json102
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMBeforeFiller.json150
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideEndFiller.json125
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideMiddle2Filler.json92
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideMiddleFiller.json127
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json113
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_ABCB_RECURSIVEFiller.json167
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecallcode_111_SuicideEndFiller.json133
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_nonEmptyMemFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_nonEmptyMem_logMemSize1Filler.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_nonEmptyMem_logMemSize1_logMemStart31Filler.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_CallerFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_MaxTopicFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_emptyMemFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_logMemStartTooHighFiller.json66
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_logMemsizeTooHighFiller.json66
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_logMemsizeZeroFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_nonEmptyMemFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_nonEmptyMem_logMemSize1Filler.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_nonEmptyMem_logMemSize1_logMemStart31Filler.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_CallerFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_MaxTopicFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_PCFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_emptyMemFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_logMemStartTooHighFiller.json66
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_logMemsizeTooHighFiller.json66
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_logMemsizeZeroFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_nonEmptyMemFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_nonEmptyMem_logMemSize1Filler.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_nonEmptyMem_logMemSize1_logMemStart31Filler.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_CallerFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_MaxTopicFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_PCFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_emptyMemFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_logMemStartTooHighFiller.json66
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_logMemsizeTooHighFiller.json66
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_logMemsizeZeroFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_nonEmptyMemFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_nonEmptyMem_logMemSize1Filler.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_nonEmptyMem_logMemSize1_logMemStart31Filler.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_logInOOG_CallFiller.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refundSuicide50procentCapFiller.json110
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallAFiller.json110
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallA_notEnoughGasInCallFiller.json110
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallToSuicideStorageFiller.json105
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallToSuicideTwiceFiller.json108
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CALL_OneVCallSuicideFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToNonZeroBalance2Filler.json)25
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CALL_ZeroVCallSuicideFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Transaction64Rule_d64e0Filler.json)26
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInitFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_ContractSuicideDuringInitFiller.json)53
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json)46
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValueFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_ContractSuicideDuringInit_WithValueFiller.json)36
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CREATE_EmptyContractAndCallIt_0weiFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL2Filler.json)19
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToEmpty2Filler.json)27
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractAndCallItOOGFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallContractToCreateContractAndCallItOOGFiller.json)54
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractOOGBonusGasFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb2Filler.json)48
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractOOGFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallContractToCreateContractOOGFiller.json)13
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb1Filler.json)49
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_gas3000Filler.json)8
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_0inputFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallToSuicideNoStorageFiller.json)77
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_Gas2999Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_Gas2999Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_NoGasFiller.json58
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_completeReturnValueFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_completeReturnValueFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_gas3000Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0Filler.json)8
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_overlappingInputOutputFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_overlappingInputOutputFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover1Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover1Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover2Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover3Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover3Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover80Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover80Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverCheckLengthFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverCheckLengthFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverCheckLengthWrongVFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverCheckLengthWrongVFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverH_prefixed0Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverH_prefixed0Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverR_prefixed0Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverR_prefixed0Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverS_prefixed0Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverS_prefixed0Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverV_prefixed0Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverV_prefixed0Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallGoesOOGOnSecondLevel2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallGoesOOGOnSecondLevel2Filler.json)50
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallGoesOOGOnSecondLevelFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallGoesOOGOnSecondLevelFiller.json)30
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallIdentitiy_1Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentitiy_1Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_1_nonzeroValueFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_1_nonzeroValueFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_2Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_3Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_3Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_4Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4_gas17Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_4_gas17Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4_gas18Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_4_gas18Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_5Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_5Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallLoseGasOOGFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallLoseGasOOGFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb0Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorMemOOGAndInsufficientBalanceFiller.json)24
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorNotMuchMemory0Filler.json)28
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb1Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_CallerFiller.json)29
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb2Filler.json68
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb3Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb3Filler.json)33
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombLog2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorAddressTooBigRightFiller.json)25
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombLogFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorAddressTooBigLeftFiller.json)21
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombPreCall2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombPreCall2Filler.json)12
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombPreCallFiller.json71
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_1Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_1Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_2Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_3Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3_postfixed0Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_3_postfixed0Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3_prefixed0Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_3_prefixed0Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_4Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_4Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_4_gas719Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_4_gas719Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_5Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_5Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_1Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_1Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_1_nonzeroValueFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_1_nonzeroValueFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_2Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_3Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3_postfix0Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_3_postfix0Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3_prefix0Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_3_prefix0Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_4Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_4Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_4_gas99Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_4_gas99Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_5Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_5Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallToNameRegistrator0Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistrator0Filler.json)6
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CallToReturn1Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToReturn1Filler.json)8
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_CalltoReturn2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CalltoReturn2Filler.json)9
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json)45
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_InternalCallHittingGasLimit2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternalCallHittingGasLimit2Filler.json)10
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_InternalCallHittingGasLimitFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternalCallHittingGasLimitFiller.json)12
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_InternlCallStoreClearsOOGFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternlCallStoreClearsOOGFiller.json)9
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevert2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_LoopCallsDepthThenRevert2Filler.json)7
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevert3Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_LoopCallsDepthThenRevert3Filler.json)10
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevertFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_LoopCallsDepthThenRevertFiller.json)46
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsThenRevertFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_TouchToEmptyAccountRevert2Filler.json)41
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_PostToReturn1Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_PostToReturn1Filler.json)10
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_RETURN_BoundsFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RETURN_BoundsFiller.json)7
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_RETURN_BoundsOOGFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RETURN_BoundsOOGFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_RawCallGasAskFiller.json128
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_Return50000_2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Return50000Filler.json)39
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_ReturnTest2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ReturnTest2Filler.json)6
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_ReturnTestFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ReturnTestFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_RevertDepth2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertDepth2Filler.json)10
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_RevertOpcodeCallsFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundCallOOGFiller.json)35
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_ZeroValue_CALL_OOGRevertFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_OOGRevertFiller.json)0
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_ZeroValue_SUICIDE_OOGRevertFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_OOGRevertFiller.json)0
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callBasicFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls0Filler.json)100
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callChangeRevertFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00_OOGEFiller.json)102
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callCreate2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfter2Filler.json)81
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callCreate3Filler.json67
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callCreateFiller.json105
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callOutput1Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput1Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callOutput2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput2Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callOutput3FailFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput3FailFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callOutput3Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput3Filler.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callOutput3partialFailFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput3partialFailFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callOutput3partialFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput3partialFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callToCallCodeOpCodeCheckFiller.json72
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callToCallOpCodeCheckFiller.json72
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callToDelCallOpCodeCheckFiller.json72
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callToStaticOpCodeCheckFiller.json72
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueAndGasOOGFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callWithHighValueAndGasOOGFiller.json)8
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueAndOOGatTxLevelFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callWithHighValueAndOOGatTxLevelFiller.json)22
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callWithHighValueFiller.json)8
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueOOGinCallFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callWithHighValueOOGinCallFiller.json)29
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_call_OOG_additionalGasCosts1Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_call_OOG_additionalGasCosts1Filler.json)27
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_call_OOG_additionalGasCosts2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_call_OOG_additionalGasCosts2Filler.json)12
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011Filler.json84
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGEFiller.json90
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGE_2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_2Filler.json)30
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMAfter2Filler.json)12
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfterFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMAfterFiller.json)14
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMAfter_2Filler.json)14
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMAfter_3Filler.json)14
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMBefore2Filler.json)56
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMBeforeFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMBeforeFiller.json)16
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_SuicideEnd2Filler.json)14
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideEndFiller.json85
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_SuicideMiddleFiller.json)20
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideMiddleFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_SuicideEndFiller.json)22
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_ABCB_RECURSIVE2Filler.json)8
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVEFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_ABCB_RECURSIVEFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcode_checkPCFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcode_checkPCFiller.json)6
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_calldelcode_01Filler.json)12
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00_SuicideEndFiller.json)24
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_OOGEFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_calldelcode_01_OOGEFiller.json)8
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_OOGE_2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_OOGE_2Filler.json)20
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_SuicideEnd2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcode_01_SuicideEnd2Filler.json)21
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_SuicideEndFiller.json80
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100Filler.json82
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_2Filler.json90
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGE2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGE_2Filler.json)10
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGEFiller.json90
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter2Filler.json90
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfterFiller.json82
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter_2Filler.json79
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter_3Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGMAfterFiller.json)49
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMBefore2Filler.json98
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMBeforeFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGEFiller.json)16
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideEnd2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_SuicideEndFiller.json)15
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideEndFiller.json82
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideMiddle2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideMiddle2Filler.json)23
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideMiddleFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_SuicideMiddle2Filler.json)24
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2Filler.json83
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_ABCB_RECURSIVEFiller.json75
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010Filler.json)8
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecallcode_011_2Filler.json)14
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGEFiller.json82
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGE_2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcode_01_OOGE_2Filler.json)27
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2Filler.json78
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfterFiller.json82
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00_OOGE_1Filler.json)74
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcode_01_2Filler.json)75
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2Filler.json78
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMBeforeFiller.json82
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2Filler.json78
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideEndFiller.json82
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2Filler.json78
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideMiddleFiller.json82
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json98
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVEFiller.json75
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_1102Filler.json78
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110Filler.json82
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_2Filler.json)49
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGE2Filler.json78
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGEFiller.json82
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2Filler.json90
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfterFiller.json82
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfter_2Filler.json)33
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3Filler.json79
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMBefore2Filler.json)24
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMBeforeFiller.json82
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideEnd2Filler.json)22
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideEndFiller.json79
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_SuicideMiddle2Filler.json)24
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideMiddleFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_SuicideMiddleFiller.json)9
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json71
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVEFiller.json75
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecallcode_111_SuicideEndFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_SuicideEnd2Filler.json)27
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json)71
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json)25
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_log0_emptyMemFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_emptyMemFiller.json)7
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemStartTooHighFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_logMemStartTooHighFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemsizeTooHighFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_logMemsizeTooHighFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemsizeZeroFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_logMemsizeZeroFiller.json)6
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMemFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_nonEmptyMemFiller.json)6
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMem_logMemSize1Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_nonEmptyMem_logMemSize1Filler.json)6
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json)6
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_log1_MaxTopicFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_MaxTopicFiller.json)6
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_log1_emptyMemFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_emptyMemFiller.json)6
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemStartTooHighFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_logMemStartTooHighFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemsizeTooHighFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_logMemsizeTooHighFiller.json)4
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemsizeZeroFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_logMemsizeZeroFiller.json)6
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_log_CallerFiller.json99
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_makeMoneyFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_makeMoneyFiller.json)25
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_refund_CallAFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallA_OOGFiller.json)26
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_refund_CallToSuicideNoStorageFiller.json71
-rw-r--r--src/GeneralStateTestsFiller/stStaticCall/static_refund_CallToSuicideTwiceFiller.json (renamed from src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcallsSuicide1Filler.json)35
421 files changed, 5142 insertions, 25448 deletions
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls1Filler.json
deleted file mode 100644
index 247233357..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls1Filler.json
+++ /dev/null
@@ -1,126 +0,0 @@
-{
- "static_ABAcalls1" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01d8b81b"
- }
- },
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x26" : "0x00"
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x29" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x3b957609"
- }
- },
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x26" : "0x00"
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x29" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ (PC) ]] (STATICCALL (- (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : " { [[ (PC) ]] (ADD 1 (STATICCALL (- (GAS) 100000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) } ",
- "nonce" : "0",
- "storage" : {
- }
- },
- "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 1 (PC)) (STATICCALL (- (GAS) 100000) 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "245304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : " { (MSTORE (PC) (ADD 1 (STATICCALL (- (GAS) 100000) 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) ) } ",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87"
- ],
- "gasLimit" : [
- "1000000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls2Filler.json
deleted file mode 100644
index cda5a1a6e..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls2Filler.json
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "static_ABAcalls2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0"
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x" : "0"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01d8c976"
- }
- },
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x" : "0"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x3b955b28"
- }
- },
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x00"
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x" : "0"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "0",
- "code" : " { [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ",
- "nonce" : "0",
- "storage" : {
- }
- },
- "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ ( MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "245304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "0",
- "code" : " { ( MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87"
- ],
- "gasLimit" : [
- "1000000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls3Filler.json
deleted file mode 100644
index ee91e7ea7..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls3Filler.json
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "static_ABAcalls3" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0"
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x" : "0"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x0467fd"
- }
- },
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x" : "0"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x95c35c"
- }
- },
- "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0"
- }
- },
- "245304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x" : "0"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1025000",
- "code" : "{ [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "0",
- "code" : " { [[ 0 ]] (ADD (SLOAD 0) 1) (STATICCALL (- (GAS) 100000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ",
- "nonce" : "0",
- "storage" : {
- }
- },
- "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1025000",
- "code" : "{ (MSTORE 0 (ADD (SLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "245304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "0",
- "code" : " { (MSTORE 0 (ADD (SLOAD 0) 1)) (STATICCALL (- (GAS) 100000) 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87"
- ],
- "gasLimit" : [
- "10000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcallsSuicide0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcallsSuicide0Filler.json
deleted file mode 100644
index 72931d652..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcallsSuicide0Filler.json
+++ /dev/null
@@ -1,116 +0,0 @@
-{
- "static_ABAcallsSuicide0" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x26" : "0"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x962352"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x96f73c"
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x26" : "0"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ (PC) ]] (STATICCALL 100000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) (SELFDESTRUCT 0x945304eb96065b2a98b57a48a06ae28d285a71b5) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : "{ [[ (PC) ]] (ADD 1 (STATICCALL 50000 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) } ",
- "nonce" : "0",
- "storage" : {
- }
- },
- "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE (PC) (STATICCALL 100000 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0)) (SELFDESTRUCT 0x945304eb96065b2a98b57a48a06ae28d285a71b5) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "245304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : "{ (MSTORE (PC) (ADD 1 (STATICCALL 50000 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) ) } ",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87"
- ],
- "gasLimit" : [
- "10000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024BalanceTooLow2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024BalanceTooLow2Filler.json
deleted file mode 100644
index 7aff2173a..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024BalanceTooLow2Filler.json
+++ /dev/null
@@ -1,103 +0,0 @@
-{
- "static_Call1024BalanceTooLow2" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "0x7fffffffffffffff",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : 0, "gas" : -1, "value" : -1 },
- "network" : [ "Metropolis" ],
- "result" : {
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x7effff9ff4"
- }
- }
- }
- },
- {
- "indexes" : { "data" : 1, "gas" : -1, "value" : -1 },
- "network" : [ "Metropolis" ],
- "result" : {
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x1000001848dd"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "7000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1024",
- "code" : "{ [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL 0xfffffffffff 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b @@0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1024",
- "code" : "{ (MSTORE 0 (ADD (MLOAD 0) 1)) (MSTORE 32 (STATICCALL 0xfffffffffff 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b (MLOAD 0) 0 0 0)) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000cbbf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "0x10000000d788"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024BalanceTooLowFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024BalanceTooLowFiller.json
deleted file mode 100644
index afd42b8c9..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024BalanceTooLowFiller.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "static_Call1024BalanceTooLow" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "0x7fffffffffffffff",
- "currentNumber" : "2675000",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x7effff9ff4"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x1000001848dd"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
-
- "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "7000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1024",
- "code" : "{ [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL 0xfffffffffff 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b @@0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1024",
- "code" : "{ (MSTORE 0 (ADD (MLOAD 0) 1)) (MSTORE 32 (STATICCALL 0xfffffffffff 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b (MLOAD 0) 0 0 0)) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000cbbf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "17592186099592"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024OOGFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024OOGFiller.json
deleted file mode 100644
index c84f7cb2e..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024OOGFiller.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{
- "static_Call1024OOG" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "0x7fffffffffffffff",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : 0, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis" ],
- "result" : {
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x03e9"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x06ba56"
- }
- }
- }
- },
- {
- "indexes" : { "data" : 1, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis" ],
- "result" : {
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0xebe90c"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "7000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1024",
- "code" : "{ [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL (MUL (SUB (GAS) 10000) (SUB 1 (DIV @@0 1025))) 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1024",
- "code" : "{ (MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL (MUL (SUB (GAS) 10000) (SUB 1 (DIV (MLOAD 0) 1025))) 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (MSTORE 32 (ADD 1(MUL (MLOAD 0) 1000))) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000cbbf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "15720826"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024PreCalls2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024PreCalls2Filler.json
deleted file mode 100644
index 11ae1b7da..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024PreCalls2Filler.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
- "static_Call1024PreCalls2" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "0x7fffffffffffffff",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x0400",
- "0x01" : "0x01",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x7ffffffffea056fd"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x7fffffffffdcd15d"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "7000",
- "code" : "{ (MSTORE 0 1)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "2024",
- "code" : "{ [[ 2 ]] (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 3 ]] (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 0 ]] (ADD @@0 1) [[ 1 ]] (DELEGATECALL 0xfffffffffff 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "2024",
- "code" : "{ (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (MSTORE 0 (ADD (MLOAD 0) 1)) (DELEGATECALL 0xfffffffffff 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000cbbf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "0x7ffffffffffffff0"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024PreCalls3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024PreCalls3Filler.json
deleted file mode 100644
index 378ddcf9e..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024PreCalls3Filler.json
+++ /dev/null
@@ -1,107 +0,0 @@
-{
- "static_Call1024PreCalls3" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "0x7fffffffffffffff",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : 0, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis" ],
- "result" : {
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x01",
- "0x03" : "0x01"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x7fffeffffffe3617"
- }
- }
- }
- },
- {
- "indexes" : { "data" : 1, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis" ],
- "result" : {
- "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x7fffffffffdd3145"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "7000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "2024",
- "code" : "{ [[ 2 ]] (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 3 ]] (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL 0xfffffffffff 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "2024",
- "code" : "{ (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL 0xfffffffffff 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000cbbf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "0x7ffffffffffffff0"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024PreCallsFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024PreCallsFiller.json
deleted file mode 100644
index fe36dc627..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1024PreCallsFiller.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{
- "static_Call1024PreCalls" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "0x7fffffffffffffff",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x01",
- "0x03" : "0x01"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x7fffeffffffe3617"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x7fffffffffdd3145"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
-
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
-
- "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "7000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "2024",
- "code" : "{ [[ 2 ]] (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 3 ]] (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL 0xfffffffffff 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "2024",
- "code" : "{ (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (STATICCALL 0xffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (MSTORE 0 (ADD (MLOAD 0) 1)) (STATICCALL 0xfffffffffff 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000cbbf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "0x7ffffffffffffff0"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call10Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call10Filler.json
deleted file mode 100644
index d8aaead40..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call10Filler.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
- "static_Call10" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "0x7fffffffffffffff",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "1",
- "0x01" : "0x0a"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x7ffffffffffdadb4"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0",
- "0x01" : "0"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x7ffffffffffef99b"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "7000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000",
- "code" : "{ (def 'i 0x80) (for {} (< @i 10) [i](+ @i 1) [[ 0 ]](STATICCALL 0xfffffffffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 50000 0 0) ) [[ 1 ]] @i}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000",
- "code" : "{ (def 'i 0x80) (for {} (< @i 10) [i](+ @i 1) (MSTORE 0 (STATICCALL 0xfffffffffff 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 50000 0 0)) ) (MSTORE 32 @i)}",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000cbbf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "0x7ffffffffffffff0"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1MB1024CalldepthFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1MB1024CalldepthFiller.json
deleted file mode 100644
index fb3d7110b..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call1MB1024CalldepthFiller.json
+++ /dev/null
@@ -1,119 +0,0 @@
-{
- "static_Call1MB1024Calldepth" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "882500000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01"
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "code" : "0x60016000540160005561040060005410601b5760016002556045565b60006000620f4240600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b620f55c85a03fa6001555b",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "340282366920938463463374606576630825020"
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01"
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "code" : "0x60016000540160005561040060005410601b5760016002556045565b60006000620f4240600073bbbf5374fce5edbc8e2a8697c15331677e6ebf0b620f55c85a03fa6001555b",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "340282366920938463463374607430644755785"
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) [[ 0 ]] (+ @@0 1) (if (LT @@0 1024) [[ 1 ]] (STATICCALL (- (GAS) 1005000) 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 1000000 0 0) [[ 2 ]] 1 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "cbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (MSTORE 0 (+ (MLOAD 0) 1)) (if (LT (MLOAD 0) 1024) (MSTORE 32 (STATICCALL (- (GAS) 1005000) 0xcbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 1000000 0 0)) (MSTORE 64 1) ) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000cbbf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "882500000000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000Filler.json
deleted file mode 100644
index 2453b509c..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000Filler.json
+++ /dev/null
@@ -1,155 +0,0 @@
-{
- "static_Call50000" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "86000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "340282366920938463463374607431684514059",
- "code" : "0x",
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x1b58",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "83697386",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x0fffffffffffff",
- "code" : "0x5b61c3506080511015603d576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b610640fa6000556001608051016080526000565b608051600155",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x142e79"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "340282366920938463463374607431729032105",
- "code" : "0x",
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x1b58",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "39179340",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x0fffffffffffff",
- "code" : "0x5b61c3506080511015603d576000600061c350600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b610640fa6000556001608051016080526000565b608051600155",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x02bb7917"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "7000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 1600 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 50000 0 0) ) [[ 1 ]] @i}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 1600 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 50000 0 0)) ) (MSTORE 32 @i ) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "85000000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_ecrecFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_ecrecFiller.json
deleted file mode 100644
index be5f7ffa0..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_ecrecFiller.json
+++ /dev/null
@@ -1,134 +0,0 @@
-{
- "static_Call50000_ecrec" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "95000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "340282366920938463463374607431675162497",
- "code" : "0x",
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "93048948",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "0x5b61c3506080511015602a576000600061c350600060016101f4fa6000556001608051016080526000565b608051600155",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x16724f"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "340282366920938463463374607431704032105",
- "code" : "0x",
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "64179340",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "0x5b61c3506080511015602a576000600061c350600060016101f4fa6000556001608051016080526000565b608051600155",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01cef637"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 500 1 0 50000 0 0) ) [[ 1 ]] @i}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 500 1 0 50000 0 0)) ) (MSTORE 32 @i ) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "94500000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_identity2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_identity2Filler.json
deleted file mode 100644
index 829d44274..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_identity2Filler.json
+++ /dev/null
@@ -1,97 +0,0 @@
-{
- "static_Call50000_identity2" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "88250000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "340282366920938463463374607431681314841",
- "code" : "0x",
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "86896604",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x0fffffffffffff",
- "code" : "0x602a6001525b61c350608051101560305761c350600161c3506000600461061cfa6000556001608051016080526005565b608051600155600151600255",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x14f4d7"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) [ 1 ] 42 (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 1564 4 0 50000 1 50000) ) [[ 1 ]] @i [[ 2 ]] @1 }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) [ 1 ] 42 (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 1564 4 0 50000 1 50000)) ) (MSTORE 32 @i) (MSTORE 64 @1 ) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "88250000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_identityFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_identityFiller.json
deleted file mode 100644
index 6e666160e..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_identityFiller.json
+++ /dev/null
@@ -1,134 +0,0 @@
-{
- "static_Call50000_identity" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "88250000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "340282366920938463463374607431681314841",
- "code" : "0x",
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "86896604",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x0fffffffffffff",
- "code" : "0x5b61c3506080511015602a576000600061c3506000600461061cfa6000556001608051016080526000565b608051600155",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x14f4d7"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "340282366920938463463374607431681314841",
- "code" : "0x",
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "86896604",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x0fffffffffffff",
- "code" : "0x5b61c3506080511015602a576000600061c3506000600461061cfa6000556001608051016080526000565b608051600155",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x14f4d7"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 1564 4 0 50000 0 0) ) [[ 1 ]] @i}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 1564 4 0 50000 0 0)) ) (MSTORE 32 @i ) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "88250000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_rip160Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_rip160Filler.json
deleted file mode 100644
index f579b4b2d..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_rip160Filler.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "static_Call50000_rip160" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "3925000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "340282366920938463463374607427904514059",
- "code" : "0x",
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "3863697386",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "4503599627370495",
- "code" : "0x5b61c3506080511015602b576000600061c3506000600362013178fa6000556001608051016080526000565b608051600155",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x03a7b579"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 78200 3 0 50000 0 0) ) [[ 1 ]] @i}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 78200 3 0 50000 0 0)) ) (MSTORE 32 @i) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "3925000000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_sha256Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_sha256Filler.json
deleted file mode 100644
index 91933ac3d..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000_sha256Filler.json
+++ /dev/null
@@ -1,144 +0,0 @@
-{
- "static_Call50000_sha256" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "3925000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "0000000000000000000000000000000000000002" : {
- "shouldnotexist" : "1"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "340282366920938463463374607430538347108",
- "code" : "0x",
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1229864337",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "4503599627370505",
- "code" : "0x5b61c3506080511015602b576000600061c3506000600262013178fa6000556001608051016080526000565b608051600155",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0xc350"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0xa0a4cfd2"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "0000000000000000000000000000000000000002" : {
- "shouldnotexist" : "1"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "340282366920938463463374607430788232105",
- "code" : "0x",
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "979979340",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "4503599627370505",
- "code" : "0x5b61c3506080511015602b576000600061c3506000600262013178fa6000526001608051016080526000565b608051602052",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0xaf89c117"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 78200 2 0 50000 0 0) ) [[ 1 ]] @i}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "cccf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (MSTORE 0 (STATICCALL 78200 2 0 50000 0 0)) ) (MSTORE 32 @i ) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000cccf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "3925000000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000bytesContract50_1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000bytesContract50_1Filler.json
deleted file mode 100644
index 8cc5fa611..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000bytesContract50_1Filler.json
+++ /dev/null
@@ -1,158 +0,0 @@
-{
- "static_Call50000bytesContract50_1" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "882500000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "868710963011",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "4503599627370495",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x0335e44fe0"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "6109295",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "4503599627370495",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0xcd78bc6eb4"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "0x6001600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600101600055",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) [[ 0 ]] (STATICCALL 88250000000 0xaaa50000fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) ) [[ 1 ]] @i }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "ccc50000fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "0x60016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016001016000",
- "nonce" : "0",
- "storage" : {
- }
- },
- "dddf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) (MSTORE 0 (STATICCALL 88250000000 0xccc50000fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0)) ) (MSTORE 32 @i) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000dddf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "882500000000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000bytesContract50_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000bytesContract50_2Filler.json
deleted file mode 100644
index 0bb1875c7..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000bytesContract50_2Filler.json
+++ /dev/null
@@ -1,160 +0,0 @@
-{
- "static_Call50000bytesContract50_2" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "882500000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x0fffffffffffff",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x00"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "3109445",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "4503599627370495",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0xcd78ea34de"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x0fffffffffffff",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x00"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "868710963011",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "4503599627370495",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x0335e44fe0"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "0x60015b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101600055",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) [[ 0 ]] (STATICCALL 88250000000 0xaaa50000fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) ) [[ 1 ]] @i }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "ccc50000fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "0x60015b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101",
- "nonce" : "0",
- "storage" : {
- }
- },
- "dddf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) (MSTORE 0 (STATICCALL 88250000000 0xccc50000fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0)) ) (MSTORE 32 @i ) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000dddf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "882500000000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000bytesContract50_3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000bytesContract50_3Filler.json
deleted file mode 100644
index 31b34cd57..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_Call50000bytesContract50_3Filler.json
+++ /dev/null
@@ -1,158 +0,0 @@
-{
- "static_Call50000bytesContract50_3" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "882500000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x0fffffffffffff",
- "storage" : {
- "0x00" : "0x00"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "868710963011",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "4503599627370495",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x0335e44fe0"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x0fffffffffffff",
- "storage" : {
- "0x00" : "0x00"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "312795",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "4503599627370495",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0xcd7914e148"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaa50000fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "0x600161da8e565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101600055",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) [[ 0 ]] (STATICCALL 88250000000 0xaaa50000fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) ) [[ 1 ]] @i }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "ccc50000fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "0x600161da8e565b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b5b600101",
- "nonce" : "0",
- "storage" : {
- }
- },
- "dddf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50) [i](+ @i 1) (MSTORE 0 (STATICCALL 88250000000 0xccc50000fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0)) ) (MSTORE 32 @i ) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000dddf5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "882500000000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_CallAndCallcodeConsumeMoreGasThenTransactionHasFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_CallAndCallcodeConsumeMoreGasThenTransactionHasFiller.json
deleted file mode 100644
index 6f32e77b0..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_CallAndCallcodeConsumeMoreGasThenTransactionHasFiller.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "static_CallAndCallcodeConsumeMoreGasThenTransactionHas" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x00",
- "0x08" : "0x00",
- "0x09" : "0x00",
- "0x0a" : "0x00"
- }
- },
- "1000000000000000000000000000000000000103" : {
- "code" : "0x6012600055",
- "nonce" : "0x00",
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x12",
- "0x08" : "0x08aa2f",
- "0x09" : "0x01",
- "0x0a" : "0x01"
- }
- },
- "2000000000000000000000000000000000000103" : {
- "code" : "0x6012600052",
- "nonce" : "0x00",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "By new EIP150 rules this transaction would be executed even if call consumes more gas then transaction has.",
- "code" : "Staticcall goes oog and eats 600k gas",
- "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000103 0 0 0 0)) (SSTORE 10 (CALLCODE 600000 0x1000000000000000000000000000000000000103 0 0 0 0 0)) }",
- "storage": {
- }
- },
- "1000000000000000000000000000000000000103" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "should be 12 in the post state",
- "code" : "{ (SSTORE 0 0x12) } ",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "By new EIP150 rules this transaction would be executed even if call consumes more gas then transaction has.",
- "code" : "Staticcall goes oog and eats 600k gas",
- "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (STATICCALL 600000 0x2000000000000000000000000000000000000103 0 0 0 0)) (SSTORE 10 (CALLCODE 600000 0x1000000000000000000000000000000000000103 0 0 0 0 0)) }",
- "storage": {
- }
- },
- "2000000000000000000000000000000000000103" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (MSTORE 0 0x12) } ",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000c94f5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_CallAskMoreGasOnDepth2ThenTransactionHasFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_CallAskMoreGasOnDepth2ThenTransactionHasFiller.json
deleted file mode 100644
index 59710ceed..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_CallAskMoreGasOnDepth2ThenTransactionHasFiller.json
+++ /dev/null
@@ -1,159 +0,0 @@
-{
- "static_CallAskMoreGasOnDepth2ThenTransactionHas" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x08" : "0x08aa2f",
- "0x09" : "0x01"
- }
- },
- "1000000000000000000000000000000000000107" : {
- "storage" : {
- "0x08" : "0x00",
- "0x09" : "0x00"
- }
- },
- "1000000000000000000000000000000000000108" : {
- "storage" : {
- "0x08" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x04df0e"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x08" : "0x08aa2f",
- "0x09" : "0x01"
- }
- },
- "2000000000000000000000000000000000000107" : {
- "storage" : {
- "0x08" : "0x00",
- "0x09" : "0x00"
- }
- },
- "2000000000000000000000000000000000000108" : {
- "storage" : {
- "0x08" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x07dd3b"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "ordinal call should work but on second depth it has call that asks more gas than left",
- "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (STATICCALL 200000 0x1000000000000000000000000000000000000107 0 0 0 0)) } ",
- "storage": {
- }
- },
- "1000000000000000000000000000000000000107" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000108 0 0 0 0)) } ",
- "storage": {
- }
- },
- "1000000000000000000000000000000000000108" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "should be set in the post state",
- "code" : "{ (SSTORE 8 (GAS))} ",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "ordinal call should work but on second depth it has call that asks more gas than left",
- "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (STATICCALL 200000 0x2000000000000000000000000000000000000107 0 0 0 0)) } ",
- "storage": {
- }
- },
- "2000000000000000000000000000000000000107" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 0x2000000000000000000000000000000000000108 0 0 0 0)) } ",
- "storage": {
- }
- },
- "2000000000000000000000000000000000000108" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "should be set in the post state",
- "code" : "{ (MSTORE 8 (GAS))} ",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000c94f5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00Filler.json
deleted file mode 100644
index 6dfbe99f2..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00Filler.json
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "static_callcall_00" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : 0, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis"],
- "result" : {
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x28fea6"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x04" : "0x00",
- "0x07" : "0x00",
- "0xe6" : "0x00",
- "0xe8" : "0x00",
- "0xec" : "0x00",
- "0xee" : "0x00",
- "0xf0" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : { "data" : 1, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis"],
- "result" : {
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x2ccedd"
- }
- },
- "2000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01"
- }
- },
- "2000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x04" : "0x00",
- "0x07" : "0x00",
- "0xe6" : "0x00",
- "0xe8" : "0x00",
- "0xec" : "0x00",
- "0xee" : "0x00",
- "0xf0" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "a000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE))}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (STATICCALL 250000 0x2000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (MSTORE 0 1) (MSTORE 32 (CALLER)) (MSTORE 64 (CALLVALUE)) (MSTORE 96 (ADDRESS)) (MSTORE 128 (ORIGIN)) (MSTORE 160 (CALLDATASIZE)) (MSTORE 192 (CODESIZE)) (MSTORE 224 (GASPRICE))}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000000",
- "0x0000000000000000000000002000000000000000000000000000000000000000"
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00_OOGE_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00_OOGE_2Filler.json
deleted file mode 100644
index 39e859850..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00_OOGE_2Filler.json
+++ /dev/null
@@ -1,110 +0,0 @@
-{
- "static_callcall_00_OOGE_2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x05" : "0x00"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00"
- }
- },
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "a000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "storage": {}
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 2 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SSTORE 2 1) (SSTORE 5 (CALLVALUE)) }",
- "storage": {}
- },
- "2000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }",
- "storage": {}
- },
- "2000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 2 1) (STATICCALL 100000 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000002" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }",
- "storage": {}
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "",
- "storage": {}
- }
- },
- "transaction" : {
- "data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000000",
- "0x0000000000000000000000002000000000000000000000000000000000000000"
- ],
- "gasLimit" : [
- "150066"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000Filler.json
deleted file mode 100644
index 494ed5d0f..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000Filler.json
+++ /dev/null
@@ -1,176 +0,0 @@
-{
- "static_callcallcall_000" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : 0, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x014a" : "0x00",
- "0x014c" : "0x00",
- "0x0150" : "0x00",
- "0x0152" : "0x00",
- "0x0154" : "0x00",
- "0x03" : "0x00",
- "0x04" : "0x00",
- "0x07" : "0x00"
- }
- },
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x28fbaa"
- }
- }
- }
- },
- {
- "indexes" : { "data" : 1, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis"],
- "result" : {
- "2000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01"
- }
- },
- "2000000000000000000000000000000000000001" : {
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000002" : {
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000003" : {
- "storage" : {
- "0x014a" : "0x00",
- "0x014c" : "0x00",
- "0x0150" : "0x00",
- "0x0152" : "0x00",
- "0x0154" : "0x00",
- "0x03" : "0x00",
- "0x04" : "0x00",
- "0x07" : "0x00"
- }
- },
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x2ccc2b"
- }
- }
- }
- }
- ],
- "pre" : {
- "a000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 3 1) (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 3 1) (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 3 1) (STATICCALL 300000 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000002" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 3 1) (STATICCALL 250000 0x2000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000000",
- "0x0000000000000000000000002000000000000000000000000000000000000000"
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGEFiller.json
deleted file mode 100644
index 1c62e31ad..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGEFiller.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{
- "static_callcallcall_000_OOGE" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : 0, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x015726"
- }
- }
- }
- },
- {
- "indexes" : { "data" : 1, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis"],
- "result" : {
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x015726"
- }
- }
- }
- }
- ],
- "pre" : {
- "a000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (MSTORE 3 1)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x2000000000000000000000000000000000000002 0 64 0 64 )(MSTORE 32 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x2000000000000000000000000000000000000003 0 64 0 64 )(MSTORE 32 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000000",
- "0x0000000000000000000000002000000000000000000000000000000000000000"
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGMAfter2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGMAfter2Filler.json
deleted file mode 100644
index 05580b402..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGMAfter2Filler.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "static_callcallcall_000_OOGMAfter2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00",
- "0x6f" : "0x015cb7"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 56000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 111 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) (STATICCALL 45000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGMBeforeFiller.json
deleted file mode 100644
index 5bf67f78f..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGMBeforeFiller.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "static_callcallcall_000_OOGMBefore" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x015d7b",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_ABCB_RECURSIVEFiller.json
deleted file mode 100644
index 3ea7efff9..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_ABCB_RECURSIVEFiller.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "static_callcallcall_ABCB_RECURSIVE" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "3000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "139959"
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 1 1) (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 2 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ (MSTORE 3 1) (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 4 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (MSTORE 5 1) (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 6 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "30000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001Filler.json
deleted file mode 100644
index 47ba77e15..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001Filler.json
+++ /dev/null
@@ -1,162 +0,0 @@
-{
- "static_callcallcallcode_001" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x03" : "0x00",
- "0x04" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x03" : "0x00",
- "0x04" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x014a" : "0x00",
- "0x014c" : "0x00",
- "0x0150" : "0x00",
- "0x0152" : "0x00",
- "0x0154" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00",
- "0x04" : "0x00",
- "0x07" : "0x00"
- }
- },
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x28fba1"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x2ccc2b"
- }
- }
- }
- }
- ],
- "pre" : {
- "a000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 3 1) (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 3 1) (DELEGATECALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 3 1) (STATICCALL 300000 0x2000000000000000000000000000000000000002 0 64 0 64 )(MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000002" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 3 1) (DELEGATECALL 250000 0x2000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000000",
- "0x0000000000000000000000002000000000000000000000000000000000000000"
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_2Filler.json
deleted file mode 100644
index 6699575c2..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_2Filler.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{
- "static_callcallcallcode_001_2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : 0, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis"],
- "result" : {
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x283b4b"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x014a" : "0x00",
- "0x014c" : "0x00",
- "0x0150" : "0x00",
- "0x0152" : "0x00",
- "0x0154" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00",
- "0x04" : "0x00",
- "0x07" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : { "data" : 1, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis"],
- "result" : {
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x2ccc31"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x014a" : "0x00",
- "0x014c" : "0x00",
- "0x0150" : "0x00",
- "0x0152" : "0x00",
- "0x0154" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00",
- "0x04" : "0x00",
- "0x07" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "a000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 2 ]] (CALLCODE 250000 0x1000000000000000000000000000000000000003 3 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (MSTORE 1 0x11223344) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (STATICCALL 300000 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000002" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 4 1) (CALLCODE 250000 0x2000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 6 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000000",
- "0x0000000000000000000000002000000000000000000000000000000000000000"
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGEFiller.json
deleted file mode 100644
index edfbbddc9..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGEFiller.json
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "static_callcallcallcode_001_OOGE" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 3 1)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) )}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGE_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGE_2Filler.json
deleted file mode 100644
index cd4fb7884..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGE_2Filler.json
+++ /dev/null
@@ -1,114 +0,0 @@
-{
- "static_callcallcallcode_001_OOGE_2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis"],
- "result" : {
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01574b"
- }
- }
- }
- }
- ],
- "pre" : {
- "a000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (MSTORE 3 1)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (STATICCALL 100000 0x2000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (CALLCODE 20020 0x2000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000000",
- "0x0000000000000000000000002000000000000000000000000000000000000000"
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfterFiller.json
deleted file mode 100644
index 18e7cbd9d..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfterFiller.json
+++ /dev/null
@@ -1,118 +0,0 @@
-{
- "static_callcallcallcode_001_OOGMAfter" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x014b7e",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) (STATICCALL 40085 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) (STATICCALL 40085 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000001",
- "0x0000000000000000000000002000000000000000000000000000000000000001"
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfter_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfter_2Filler.json
deleted file mode 100644
index c53cdc1d5..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfter_2Filler.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
- "static_callcallcallcode_001_OOGMAfter_2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x014b7e",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS)}",
- "storage": {}
- },
- "2000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (STATICCALL 40085 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (STATICCALL 40085 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (MSTORE 3 1) }",
- "storage": {}
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "",
- "storage": {}
- }
- },
- "transaction" : {
- "data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000001",
- "0x0000000000000000000000002000000000000000000000000000000000000001"
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfter_3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfter_3Filler.json
deleted file mode 100644
index 75310a2fb..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfter_3Filler.json
+++ /dev/null
@@ -1,107 +0,0 @@
-{
- "static_callcallcallcode_001_OOGMAfter_3" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x014b7e",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }",
- "storage": {}
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) )}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (MSTORE 3 1) }",
- "storage": {}
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "",
- "storage": {}
- }
- },
- "transaction" : {
- "data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000001",
- "0x0000000000000000000000002000000000000000000000000000000000000001"
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMBeforeFiller.json
deleted file mode 100644
index bf4c0f8d2..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMBeforeFiller.json
+++ /dev/null
@@ -1,116 +0,0 @@
-{
- "static_callcallcallcode_001_OOGMBefore" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x015c58",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 32 0 64 ) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) (STATICCALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 32 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (SSTORE 1 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000002",
- "0x0000000000000000000000002000000000000000000000000000000000000002"
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_SuicideEndFiller.json
deleted file mode 100644
index 32dbae7f5..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_SuicideEndFiller.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "static_callcallcallcode_001_SuicideEnd" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x2b9a4b",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "storage" : {
- "0x01" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000"
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_SuicideMiddleFiller.json
deleted file mode 100644
index 2d8d04015..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_SuicideMiddleFiller.json
+++ /dev/null
@@ -1,103 +0,0 @@
-{
- "static_callcallcallcode_001_SuicideMiddle" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x2b9a37"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_ABCB_RECURSIVE2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_ABCB_RECURSIVE2Filler.json
deleted file mode 100644
index ea92ad3cf..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_ABCB_RECURSIVE2Filler.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "static_callcallcallcode_ABCB_RECURSIVE2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "3000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "140109"
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 1 1) (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ (MSTORE 1 1) (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 2 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (MSTORE 1 1) (CALLCODE 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) (MSTORE 2 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "30000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_ABCB_RECURSIVEFiller.json
deleted file mode 100644
index 86a544ba9..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_ABCB_RECURSIVEFiller.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "static_callcallcallcode_ABCB_RECURSIVE" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "3000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "139959"
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 1 1) (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 31 1)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ (MSTORE 1 1) (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 31 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (MSTORE 1 1) (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) (MSTORE 21 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "30000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcode_01_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcode_01_SuicideEndFiller.json
deleted file mode 100644
index 955ff3ee7..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcode_01_SuicideEndFiller.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "static_callcallcode_01_SuicideEnd" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x2b1467"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000"
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ (DELEGATECALL 50000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (MSTORE 2 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CALL_OneVCallSuicideFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CALL_OneVCallSuicideFiller.json
deleted file mode 100644
index 5eef4df16..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CALL_OneVCallSuicideFiller.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "static_CALL_OneVCallSuicide" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "shouldnotexist" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x64" : "0x085707"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "shouldnotexist" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x64",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x64" : "0x086d23"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100",
- "nonce" : "0",
- "code" : "{ [[0]](GAS) (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 0) [[100]] (GAS) }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SELFDESTRUCT 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b) }",
- "storage": {
- }
- }
-
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CALL_ZeroVCallSuicideFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CALL_ZeroVCallSuicideFiller.json
deleted file mode 100644
index 58794e85f..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CALL_ZeroVCallSuicideFiller.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "static_CALL_ZeroVCallSuicide" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "shouldnotexist" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x64" : "0x087133"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "shouldnotexist" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x00",
- "nonce" : "0x00",
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x64" : "0x08874f"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]](GAS) (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[100]] (GAS) }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SELFDESTRUCT 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b) }",
- "storage": {
- }
- }
-
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_ContractSuicideDuringInit_WithValueToItselfFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_ContractSuicideDuringInit_WithValueToItselfFiller.json
deleted file mode 100644
index ae229557f..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_ContractSuicideDuringInit_WithValueToItselfFiller.json
+++ /dev/null
@@ -1,148 +0,0 @@
-{
- "static_CREATE_ContractSuicideDuringInit_WithValueToItself" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "shouldnotexist" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "storage" : {
- "0x01" : "12"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "0xe808"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xe8d4a427ee"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier"],
- "result" : {
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "shouldnotexist" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "storage" : {
- "0x01" : "12"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "22870"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "999999977120"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead"],
- "result" : {
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "shouldnotexist" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "storage" : {
- "0x01" : "12"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "53740"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "999999946250"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "shouldnotexist" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "storage" : {
- "0x01" : "12"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "59400"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "999999940590"
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "code" : "This indicates that a call from transaction was initiated",
- "code" : "{[[1]]12}",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : "{(STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) (MSTORE 0 0x64600c6000556000526005601bf3) (SELFDESTRUCT 0x6295ee1b4f6dd65047762f924ecd367c17eabf8f)}",
- "data" : [
- "0x6000600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60f1506d64600c6000556000526005601bf3600052736295ee1b4f6dd65047762f924ecd367c17eabf8fff"
- ],
- "gasLimit" : [
- "150000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContractCreateEContractInInit_TrFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContractCreateEContractInInit_TrFiller.json
deleted file mode 100644
index fbf25acf5..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContractCreateEContractInInit_TrFiller.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
- "static_CREATE_EContractCreateEContractInInit_Tr" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "12"
- }
- },
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "nonce" : "0x02"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP150"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "12"
- }
- },
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "nonce" : "0x01"
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "This indicates that a call from transaction was initiated",
- "code" : "{[[1]]12}",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : "{(STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) (CREATE 0 0 32) }",
- "data" : [
- "0x6000600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60f150602060006000f0"
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContractCreateNEContractInInitOOG_TrFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContractCreateNEContractInInitOOG_TrFiller.json
deleted file mode 100644
index 4e5e74b39..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContractCreateNEContractInInitOOG_TrFiller.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
- "static_CREATE_EContractCreateNEContractInInitOOG_Tr" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x0c"
- }
- },
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "nonce" : "0x02"
- },
- "a42676447b7cedfa5fde894d1d3df24aab362701" : {
- "shouldnotexist" : "1"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : 1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- },
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "shouldnotexist" : "1"
- },
- "a42676447b7cedfa5fde894d1d3df24aab362701" : {
- "shouldnotexist" : "1"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP150"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x0c"
- }
- },
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "nonce" : "0x01"
- },
- "a42676447b7cedfa5fde894d1d3df24aab362701" : {
- "balance" : "0",
- "code" : "0x600c600055",
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "This indicates that a call from transaction was initiated",
- "code" : "{[[1]]12}",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : "{(STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) (MSTORE 0 0x64600c6000556000526005601bf3) (CREATE 0 18 14)}",
- "data" : [
- "0x6000600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60f1506d64600c6000556000526005601bf3600052600e60126000f0"
- ],
- "gasLimit" : [
- "160000", "60000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContractCreateNEContractInInit_TrFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContractCreateNEContractInInit_TrFiller.json
deleted file mode 100644
index c7553b303..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContractCreateNEContractInInit_TrFiller.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "static_CREATE_EContractCreateNEContractInInit_Tr" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "12"
- }
- },
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "nonce" : "0x02"
- },
- "64e2ebd6405af8cb348aec519084d3fff42ebba6" : {
- "code" : "0x600c600055"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP150"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "12"
- }
- },
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "nonce" : "0x01"
- },
- "a42676447b7cedfa5fde894d1d3df24aab362701" : {
- "code" : "0x600c600055"
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "This indicates that a call from transaction was initiated",
- "code" : "{[[1]]12}",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : "{(STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) (MSTORE 0 0x64600c6000556000526005601bf3) (CREATE 0 18 14)}",
- "data" : [
- "0x6000600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60f1506d64600c6000556000526005601bf3600052600e60126000f0"
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContract_ThenCALLToNonExistentAccFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContract_ThenCALLToNonExistentAccFiller.json
deleted file mode 100644
index b791d2154..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EContract_ThenCALLToNonExistentAccFiller.json
+++ /dev/null
@@ -1,121 +0,0 @@
-{
- "static_CREATE_EContract_ThenCALLToNonExistentAcc" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x02" : "0x07bc62",
- "0x03" : "0x01",
- "0x64" : "0x071d49"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "nonce" : "1"
- },
- "e1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "shouldnotexist" : "1"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x02" : "0x07bc62",
- "0x03" : "0x01",
- "0x64" : "0x06be35"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "nonce" : "0"
- },
- "e1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "nonce" : "0"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x02" : "0x07bc62",
- "0x03" : "0x01",
- "0x64" : "0x06bba1"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "nonce" : "0"
- },
- "e1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "nonce" : "0"
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]](GAS) [[1]] (CREATE 0 0 32) [[2]](GAS) [[3]] (STATICCALL 60000 0xe1ecf98489fa9ed60a664fc4998db699cfa39d40 0 0 0 0 0) [[100]] (GAS) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractAndCallIt_0weiFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractAndCallIt_0weiFiller.json
deleted file mode 100644
index 07724e9a5..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractAndCallIt_0weiFiller.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "static_CREATE_EmptyContractAndCallIt_0wei" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x02" : "0x07bc62",
- "0x03" : "0x01",
- "0x64" : "0x071c81"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "nonce" : "1"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x02" : "0x07bc62",
- "0x03" : "0x01",
- "0x64" : "0x071fab"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "nonce" : "0"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x02" : "0x07bc62",
- "0x03" : "0x01",
- "0x64" : "0x071c81"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "nonce" : "0"
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]](GAS) [[1]] (CREATE 0 0 32) [[2]](GAS) [[3]] (STATICCALL 60000 (SLOAD 1) 0 0 0 0 0) [[100]] (GAS) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractAndCallIt_1weiFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractAndCallIt_1weiFiller.json
deleted file mode 100644
index beaf5735d..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractAndCallIt_1weiFiller.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
- "static_CREATE_EmptyContractAndCallIt_1wei" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x02" : "0x07bc62",
- "0x03" : "0x01",
- "0x64" : "0x070255"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "balance" : "0x01",
- "nonce" : "0x01"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x02" : "0x07bc62",
- "0x03" : "0x01",
- "0x64" : "0x07057f"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "balance" : "0x01",
- "nonce" : "0x00"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x02" : "0x07bc62",
- "0x03" : "0x01",
- "0x64" : "0x070255"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "balance" : "0x01",
- "nonce" : "0x00"
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "nonce" : "0",
- "code" : "{ [[0]](GAS) [[1]] (CREATE 0 0 32) [[2]](GAS) [[3]](STATICCALL 60000 (SLOAD 1) 1 0 0 0 0) [[100]] (GAS) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json
deleted file mode 100644
index 7248d21e7..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{
- "static_CREATE_EmptyContractWithStorageAndCallIt_0wei" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x02" : "0x071d30",
- "0x03" : "0x01",
- "0x64" : "0x067d4f"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "nonce" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "12"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x02" : "0x071fc4",
- "0x03" : "0x01",
- "0x64" : "0x06830d"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "nonce" : "0"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "12"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x02" : "0x071d30",
- "0x03" : "0x01",
- "0x64" : "0x067d4f"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "nonce" : "0"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "12"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]]12 (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0)}",
- "code" : "{ [[0]](GAS) (MSTORE 0 0x600c6000556000600060006000600073c94f5374fce5edbc8e2a8697c1533167) (MSTORE 32 0x7e6ebf0b61ea60f1000000000000000000000000000000000000000000000000) [[1]] (CREATE 0 0 64) [[2]] (GAS) [[3]] (STATICCALL 60000 (SLOAD 1) 0 0 0 0 0) [[100]] (GAS) }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "{[[1]]12}",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractWithStorageAndCallIt_1weiFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractWithStorageAndCallIt_1weiFiller.json
deleted file mode 100644
index 3b2a2b7a4..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractWithStorageAndCallIt_1weiFiller.json
+++ /dev/null
@@ -1,114 +0,0 @@
-{
- "static_CREATE_EmptyContractWithStorageAndCallIt_1wei" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x02" : "0x071d30",
- "0x03" : "0x01",
- "0x64" : "0x066323"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "balance" : "0x01",
- "storage" : {
- "0x00" : "12"
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "12"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x02" : "0x071fc4",
- "0x03" : "0x01",
- "0x64" : "0x0668e1"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "balance" : "0x01",
- "storage" : {
- "0x00" : "12"
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "12"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "nonce" : "0",
- "code" : "{ [[0]]12 (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0)}",
- "code" : "{ [[0]](GAS) (MSTORE 0 0x600c6000556000600060006000600073c94f5374fce5edbc8e2a8697c1533167) (MSTORE 32 0x7e6ebf0b61ea60f1000000000000000000000000000000000000000000000000) [[1]] (CREATE 0 0 64) [[2]] (GAS) [[3]] (STATICCALL 60000 (SLOAD 1) 1 0 0 0 0) [[100]] (GAS) }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "{[[1]]12}",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractWithStorageFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractWithStorageFiller.json
deleted file mode 100644
index 2a9aa2cde..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_EmptyContractWithStorageFiller.json
+++ /dev/null
@@ -1,129 +0,0 @@
-{
- "static_CREATE_EmptyContractWithStorage" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x64" : "0x071d30"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "nonce" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "12"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x64" : "0x071fc4"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "nonce" : "0"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "12"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
- "0x64" : "0x071d30"
- }
- },
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "nonce" : "0"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "12"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]]12 (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0)}",
- "code" : "{ [[0]](GAS) (MSTORE 0 0x600c6000556000600060006000600073c94f5374fce5edbc8e2a8697c1533167) (MSTORE 32 0x7e6ebf0b61ea60f1000000000000000000000000000000000000000000000000) [[1]] (CREATE 0 0 64) [[100]] (GAS) }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "{[[1]]12}",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_empty000CreateinInitCode_TransactionFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_empty000CreateinInitCode_TransactionFiller.json
deleted file mode 100644
index fa5d1370a..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_empty000CreateinInitCode_TransactionFiller.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "static_CREATE_empty000CreateinInitCode_Transaction" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "12"
- }
- },
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "nonce" : "0x02"
- },
- "a42676447b7cedfa5fde894d1d3df24aab362701" : {
- "shouldnotexist" : "1"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP150"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "12"
- }
- },
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "nonce" : "0x01"
- },
- "a42676447b7cedfa5fde894d1d3df24aab362701" : {
- "balance" : "0x00",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "This indicates that a call from transaction was initiated",
- "code" : "{[[1]]12}",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : "{(STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) (CREATE 0 0 0) }",
- "data" : [
- "0x6000600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60f150600060006000f0"
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallContractToCreateContractOOGBonusGasFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallContractToCreateContractOOGBonusGasFiller.json
deleted file mode 100644
index 4df215de1..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallContractToCreateContractOOGBonusGasFiller.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
- "static_CallContractToCreateContractOOGBonusGas" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "100000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier","Homestead"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "1",
- "storage" : {
- "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "d2571607e241ecf590ed94b12d87c94babe36db6" : {
- "balance" : "1",
- "nonce" : "0",
- "storage" : {
- "0x" : "0x0c"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "1",
- "storage" : {
- "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "d2571607e241ecf590ed94b12d87c94babe36db6" : {
- "balance" : "1",
- "nonce" : "1",
- "storage" : {
- "0x" : "0x0c"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "1",
- "storage" : {
- "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "d2571607e241ecf590ed94b12d87c94babe36db6" : {
- "balance" : "1",
- "nonce" : "0",
- "storage" : {
- "0x" : "0x0c"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "{[[0]] 12 (MSTORE 32 0x602060406000f0)(RETURN 57 7)}",
- "balance" : "112",
- "code" : "{(MSTORE 0 0x600c60005566602060406000f060205260076039f3)[[0]](CREATE 1 11 21)(STATICCALL 0 (SLOAD 0) 12 0 0 0 0)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x00"
- ],
- "gasLimit" : [
- "20000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json
deleted file mode 100644
index eae0cbbb6..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "static_CallContractToCreateContractWhichWouldCreateContractIfCalled" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "100000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier","Homestead"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "1",
- "storage" : {
- "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6"
- }
- },
- "62c01474f089b07dae603491675dc5b5748f7049" : {
- "nonce" : "0"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "d2571607e241ecf590ed94b12d87c94babe36db6" : {
- "balance" : "2",
- "nonce" : "1",
- "storage" : {
- "0x" : "0x0c"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "1",
- "storage" : {
- "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6"
- }
- },
- "62c01474f089b07dae603491675dc5b5748f7049" : {
- "shouldnotexist" : "1"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "d2571607e241ecf590ed94b12d87c94babe36db6" : {
- "balance" : "2",
- "nonce" : "2",
- "storage" : {
- "0x" : "0x0c"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "1",
- "storage" : {
- "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6"
- }
- },
- "62c01474f089b07dae603491675dc5b5748f7049" : {
- "nonce" : "0"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "d2571607e241ecf590ed94b12d87c94babe36db6" : {
- "balance" : "2",
- "nonce" : "1",
- "storage" : {
- "0x" : "0x0c"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "//" : "{[[0]] 12 (MSTORE 32 0x602060406000f0)(RETURN 57 7)}",
- "balance" : "1000",
- "code" : "{(MSTORE 0 0x600c60005566602060406000f060205260076039f3)[[0]](CREATE 1 11 21)(STATICCALL 50000 (SLOAD 0) 1 0 0 0 0)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x00"
- ],
- "gasLimit" : [
- "20000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_0inputFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_0inputFiller.json
deleted file mode 100644
index 4369d8b00..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_0inputFiller.json
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- "static_CallEcrecover0_0input" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x02" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "20000000",
- "code" : "{ [[ 2 ]] (STATICCALL 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3652240"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_NoGasFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_NoGasFiller.json
deleted file mode 100644
index f674bab76..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_NoGasFiller.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
- "static_CallEcrecover0_NoGas" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "70216"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "71026"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "71066"
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "20000000",
- "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 0 1 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "365224"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb0Filler.json
deleted file mode 100644
index 1d524a05b..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb0Filler.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "static_CallRecursiveBomb0" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x00" : "0x0400",
- "0x01" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x00" : "0x011b",
- "0x01" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "2000000000",
- "code" : "{ (STATICCALL 100000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (STATICCALL (- (GAS) 11000) (ADDRESS) 0 0 0 0 0) } ",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "10000000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json
deleted file mode 100644
index 240f958c7..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "static_CallRecursiveBomb0_OOG_atMaxCallDepth" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "100000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x0401",
- "0x01" : "0x01"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x00" : "0x02c1",
- "0x01" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "20000000",
- "code" : "{ [[ 0 ]] (+ (SLOAD 0) 1) [[ 2 ]] (MUL (DIV @@0 0x0402) 0xfffffffffffffffffff) [[ 1 ]] (STATICCALL (- (GAS) 1024) (ADDRESS) 0 0 (MUL (DIV @@0 0x0402) 0xfffffffffffffffffff) 0 0) } ",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "100000000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombLog2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombLog2Filler.json
deleted file mode 100644
index 88bb7ebe2..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombLog2Filler.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "static_CallRecursiveBombLog2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x00" : "0x0400",
- "0x01" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x00" : "0x012b",
- "0x01" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "20000000",
- "code" : "{ (STATICCALL 100000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 (GAS)) (LOG0 0 32) [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (STATICCALL (- (GAS) 25000) (ADDRESS) 0 0 0 0 0) } ",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "10000000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombLogFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombLogFiller.json
deleted file mode 100644
index 2e71fb0e6..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombLogFiller.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "static_CallRecursiveBombLog" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x00" : "0x0400",
- "0x01" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x00" : "0x012b",
- "0x01" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "20000000",
- "code" : "{ (STATICCALL 100000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG0 0 32) [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (STATICCALL (- (GAS) 25000) (ADDRESS) 0 0 0 0 0) } ",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "10000000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombPreCallFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombPreCallFiller.json
deleted file mode 100644
index 47c006979..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombPreCallFiller.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{
- "static_CallRecursiveBombPreCall" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "0x7fffffffffffffff",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x00" : "0x03ff",
- "0x01" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "0xfffffffffffffffffffffffffffffff",
- "code" : "{ (STATICCALL 100000 0xbad304eb96065b2a98b57a48a06ae28d285a71b5 23 0 0 0 0) (DELEGATECALL 0x7ffffffffffffff 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (STATICCALL (- (GAS) 224000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0 0) } ",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "0x7ffffffffffffff0"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorNotMuchMemory1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorNotMuchMemory1Filler.json
deleted file mode 100644
index 85994c211..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorNotMuchMemory1Filler.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_CallToNameRegistratorNotMuchMemory1" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 987654 0 64 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : "0x6000355415600957005b60203560003555",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "300000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorOutOfGasFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorOutOfGasFiller.json
deleted file mode 100644
index ddd611c2b..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorOutOfGasFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_CallToNameRegistratorOutOfGas" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 100 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 64 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : "0x6000355415600957005b60203560003555",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "300000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorTooMuchMemory0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorTooMuchMemory0Filler.json
deleted file mode 100644
index 6e528c503..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorTooMuchMemory0Filler.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_CallToNameRegistratorTooMuchMemory0" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 987654321 64 64 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : "0x6000355415600957005b60203560003555",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "300000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorTooMuchMemory1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorTooMuchMemory1Filler.json
deleted file mode 100644
index e241cb636..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorTooMuchMemory1Filler.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_CallToNameRegistratorTooMuchMemory1" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 9865432 64 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : "0x6000355415600957005b60203560003555",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "300000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorTooMuchMemory2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorTooMuchMemory2Filler.json
deleted file mode 100644
index 25fa677a1..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorTooMuchMemory2Filler.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_CallToNameRegistratorTooMuchMemory2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 987654 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : "0x6000355415600957005b60203560003555",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "300000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorZeorSizeMemExpansionFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorZeorSizeMemExpansionFiller.json
deleted file mode 100644
index c836df8a0..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorZeorSizeMemExpansionFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_CallToNameRegistratorZeorSizeMemExpansion" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 1000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : "0x6000355415600957005b60203560003555",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "300000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternalCallHittingGasLimitSuccessFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternalCallHittingGasLimitSuccessFiller.json
deleted file mode 100644
index 114b829b2..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternalCallHittingGasLimitSuccessFiller.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
- "static_InternalCallHittingGasLimitSuccess" : {
- "env" : {
- "currentCoinbase" : "2adf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "220000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "storage" : {
- "0x01" : "0x37"
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "code" : "{ (STATICCALL 25000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "code" : "{[[1]]55}",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "150000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternlCallStoreClearsSuccesFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternlCallStoreClearsSuccesFiller.json
deleted file mode 100644
index 85d7dfff2..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternlCallStoreClearsSuccesFiller.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
- "static_InternlCallStoreClearsSucces" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "0000000000000000000000000000000000000000" : {
- "balance" : "1",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "19"
- }
- }
- }
- ],
- "pre" : {
- "0000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0)(SSTORE 4 0)(SSTORE 5 0)(SSTORE 6 0)(SSTORE 7 0)(SSTORE 8 0)(SSTORE 9 0)}",
- "nonce" : "0",
- "storage" : {
- "0x" : "0x0c",
- "0x01" : "0x0c",
- "0x02" : "0x0c",
- "0x03" : "0x0c",
- "0x04" : "0x0c",
- "0x05" : "0x0c",
- "0x06" : "0x0c",
- "0x07" : "0x0c",
- "0x08" : "0x0c",
- "0x09" : "0x0c"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "//" : "gas = 19 going OOG, gas = 20 fine",
- "balance" : "10",
- "code" : "{ (STATICCALL 100000 0 1 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "160000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "c94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_LoopCallsThenRevertFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_LoopCallsThenRevertFiller.json
deleted file mode 100644
index 2e4dd1720..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_LoopCallsThenRevertFiller.json
+++ /dev/null
@@ -1,114 +0,0 @@
-{
- "static_LoopCallsThenRevert" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0"
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "850"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : 1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "850"
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : 1,
- "value" : -1
- },
- "network" : ["Homestead", "Frontier"],
- "result" : {
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0"
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "850"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a000000000000000000000000000000000000000" : {
- "balance" : "",
- "code" : "{ (JUMPDEST) [[0]] (- (SLOAD 0) 1) (STATICCALL 50000 0xb000000000000000000000000000000000000000 0 0 0 0 0) (JUMPI 0 (SLOAD 0))}",
- "nonce" : "0",
- "storage" : {
- "0x00" : "850"
- }
- },
- "b000000000000000000000000000000000000000" : {
- "balance" : "",
- "code" : "{ [[0]] (ADD 1 (SLOAD 0)) }",
- "nonce" : "",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "10000000", "9000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NewGasPriceForCodesFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NewGasPriceForCodesFiller.json
deleted file mode 100644
index 47f3819ef..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NewGasPriceForCodesFiller.json
+++ /dev/null
@@ -1,154 +0,0 @@
-{
- "static_NewGasPriceForCodes" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x12",
- "0x01" : "0x20",
- "0x02" : "0x1122334455667788991011121314151617181920000000000000000000000000",
- "0x03" : "0xe8d49be840",
- "0x04" : "0x12",
- "0x07" : "0x01",
- "0x08" : "0x01",
- "0x0a" : "0x05e276",
- "0x64" : "0x11"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x12",
- "0x01" : "0x20",
- "0x02" : "0x1122334455667788991011121314151617181920000000000000000000000000",
- "0x03" : "0xe8d49be840",
- "0x04" : "0x12",
- "0x07" : "0x01",
- "0x08" : "0x01",
- "0x0a" : "0x06441e",
- "0x64" : "0x11"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x12",
- "0x01" : "0",
- "0x02" : "0",
- "0x03" : "0",
- "0x04" : "0",
- "0x07" : "0",
- "0x08" : "0",
- "0x0a" : "0",
- "0x64" : "0"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x12",
- "0x01" : "0x20",
- "0x02" : "0x1122334455667788991011121314151617181920000000000000000000000000",
- "0x03" : "0xe8d49be840",
- "0x04" : "0x12",
- "0x07" : "0x01",
- "0x08" : "0x01",
- "0x0a" : "0x05f428",
- "0x64" : "0x11"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000010" : {
- "balance" : "111",
- "code" : "0x1122334455667788991011121314151617181920212223242526272829303132",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000011" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SSTORE 100 0x11) }",
- "storage": {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "Test gasPrice of thise codes after EIP150 transition",
- "code" : "{ (SSTORE 1 (EXTCODESIZE 0x1000000000000000000000000000000000000010)) (EXTCODECOPY 0x1000000000000000000000000000000000000010 0 0 20) (SSTORE 2 (MLOAD 0)) (SSTORE 4 (SLOAD 0)) (SSTORE 5 (STATICCALL 30000 0x1000000000000000000000000000000000000011 1 0 0 0 0)) (SSTORE 6 (CALLCODE 30000 0x1000000000000000000000000000000000000011 1 0 0 0 0)) (SSTORE 7 (DELEGATECALL 30000 0x1000000000000000000000000000000000000011 0 0 0 0)) (SSTORE 8 (STATICCALL 30000 0x1000000000000000000000000000000000000013 0 0 0 0 0)) (SSTORE 3 (BALANCE 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b)) (SSTORE 10 (GAS)) }",
- "storage": {
- "0x00" : "0x12"
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL2Filler.json
deleted file mode 100644
index ecf078139..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL2Filler.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "static_NonZeroValue_CALL2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x63",
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0x01",
- "0x64" : "0x07bac9"
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x01"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x63",
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0x01",
- "0x64" : "0x07bd5d"
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x01"
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100",
- "nonce" : "0",
- "code" : "{ [[0]](GAS) [[1]] (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 0) [[100]] (GAS) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL_ToEmptyFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL_ToEmptyFiller.json
deleted file mode 100644
index 2e30f0fdb..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL_ToEmptyFiller.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "static_NonZeroValue_CALL_ToEmpty" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x01"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0x01",
- "0x64" : "0x07bac9"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x01"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0x01",
- "0x64" : "0x081c71"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x01"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0x01",
- "0x64" : "0x081f05"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000",
- "nonce" : "0",
- "code" : "{ [[0]](GAS) [[1]] (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 0) [[100]] (GAS) }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL_ToNonNonZeroBalanceFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL_ToNonNonZeroBalanceFiller.json
deleted file mode 100644
index 90ad0abee..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL_ToNonNonZeroBalanceFiller.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "static_NonZeroValue_CALL_ToNonNonZeroBalance" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x64" : "0x085709"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x64" : "0x08599d"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]](GAS) [[1]] (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 0) [[100]] (GAS) }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL_ToOneStorageKeyFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL_ToOneStorageKeyFiller.json
deleted file mode 100644
index 143d56246..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_NonZeroValue_CALL_ToOneStorageKeyFiller.json
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "static_NonZeroValue_CALL_ToOneStorageKey" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "storage" : {
- "0x00" : "0x01"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0x01",
- "0x64" : "0x07bac9"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "storage" : {
- "0x00" : "0x01"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0x01",
- "0x64" : "0x081c71"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "storage" : {
- "0x00" : "0x01"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0x01",
- "0x64" : "0x081f05"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000",
- "nonce" : "0",
- "code" : "{ [[0]](GAS) [[1]] (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 0) [[100]] (GAS) }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- "0x00" : "0x01"
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasAskFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasAskFiller.json
deleted file mode 100644
index 57e5fa043..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasAskFiller.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "static_RawCallGasAsk" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0x06e228"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x074f16",
- "0x01" : "0x06aff9"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0",
- "0x01" : "0"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "",
- "code" : "{ [[2]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]] (GAS) (STATICCALL 3000000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[1]] (GAS) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "500000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasFiller.json
deleted file mode 100644
index de8687167..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasFiller.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "static_RawCallGas" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0x752e"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x074f16",
- "0x01" : "0x06aff9"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0x752e"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x074f16",
- "0x01" : "0x06b28d"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "",
- "code" : "{ [[2]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]] (GAS) (STATICCALL 30000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[1]] (GAS) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "500000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferAskFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferAskFiller.json
deleted file mode 100644
index c871aa37c..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferAskFiller.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "static_RawCallGasValueTransferAsk" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0x06c889"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x074f16",
- "0x01" : "0x0695cd"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0",
- "0x01" : "0"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "",
- "code" : "{ [[2]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]] (GAS) (STATICCALL 3000000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 10 0 0 0 0) [[1]] (GAS) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "500000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferFiller.json
deleted file mode 100644
index d696fd52c..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferFiller.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "static_RawCallGasValueTransfer" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0x7e2a"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x074f16",
- "0x01" : "0x0695cd"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0x7e2a"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x074f16",
- "0x01" : "0x069861"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "",
- "code" : "{ [[2]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]] (GAS) (STATICCALL 30000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 10 0 0 0 0) [[1]] (GAS) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "500000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferMemoryAskFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferMemoryAskFiller.json
deleted file mode 100644
index c2c99289d..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferMemoryAskFiller.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "static_RawCallGasValueTransferMemoryAsk" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0x06c52e"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x074f16",
- "0x01" : "0x069265"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0",
- "0x01" : "0"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "",
- "code" : "{ [[2]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]] (GAS) (STATICCALL 3000000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 10 0 8000 0 8000) [[1]] (GAS) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "500000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferMemoryFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferMemoryFiller.json
deleted file mode 100644
index 0695ae442..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallGasValueTransferMemoryFiller.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "static_RawCallGasValueTransferMemory" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0x7e2a"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x074f16",
- "0x01" : "0x069265"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0x7e2a"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x074f16",
- "0x01" : "0x0694f9"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "",
- "code" : "{ [[2]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]] (GAS) (STATICCALL 30000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 10 0 8000 0 8000) [[1]] (GAS) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "500000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallMemoryGasAskFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallMemoryGasAskFiller.json
deleted file mode 100644
index c4770c381..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallMemoryGasAskFiller.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "static_RawCallMemoryGasAsk" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0x06dece"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x074f16",
- "0x01" : "0x06ac91"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0",
- "0x01" : "0"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "",
- "code" : "{ [[2]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]] (GAS) (STATICCALL 3000000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 8000 0 8000) [[1]] (GAS) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "500000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallMemoryGasFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallMemoryGasFiller.json
deleted file mode 100644
index a2c81f978..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RawCallMemoryGasFiller.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "static_RawCallMemoryGas" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0x752e"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x074f16",
- "0x01" : "0x06ac91"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0x752e"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x074f16",
- "0x01" : "0x06af25"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "",
- "code" : "{ [[2]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]] (GAS) (STATICCALL 30000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 8000 0 8000) [[1]] (GAS) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "500000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Return50000_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Return50000_2Filler.json
deleted file mode 100644
index 36fff2e56..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Return50000_2Filler.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "static_Return50000_2 " : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "88250000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffffffffffffffffabd696f",
- "code" : "0x",
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x0fffffffffffff",
- "code" : "0x61c34f356000526001600051f3",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x05429690",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x0fffffffffffff",
- "code" : "0x5b61c3506080511015603f576000600061c3506000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61061cf16000556001608051016080526000565b608051600155",
- "nonce" : "0x00",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xffffffffffffffffffffffffffffffff",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ [ 0 ] (CALLDATALOAD 49999) (RETURN @0 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 1564 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 50000 0 0) ) [[ 1 ]] @i }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "88250000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertDepthCreateAddressCollisionFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertDepthCreateAddressCollisionFiller.json
deleted file mode 100644
index 46189db1a..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertDepthCreateAddressCollisionFiller.json
+++ /dev/null
@@ -1,222 +0,0 @@
-{
- "static_RevertDepthCreateAddressCollision" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "comment" : "NO OOG",
- "indexes" : {
- "data" : 1,
- "gas" : 1,
- "value" : 0
- },
- "network" : ["EIP158"],
- "result" : {
- "3e180b1862f9d158abb5e519a6d8605540c23682" : {
- "balance" : "0x06",
- "code" : "0x",
- "nonce" : "55",
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x04" : "0x0c"
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- "0x02" : "0x08",
- "0x03" : "0x0c"
- }
- }
- }
- },
- {
- "comment" : "NO OOG",
- "indexes" : {
- "data" : 1,
- "gas" : 1,
- "value" : 0
- },
- "network" : ["EIP150"],
- "result" : {
- "3e180b1862f9d158abb5e519a6d8605540c23682" : {
- "balance" : "0x06",
- "code" : "0x",
- "nonce" : "54",
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x04" : "0x0c"
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- "0x02" : "0x08",
- "0x03" : "0x0c"
- }
- }
- }
- },
- {
- "comment" : "NO OOG",
- "indexes" : {
- "data" : 1,
- "gas" : 1,
- "value" : 0
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "3e180b1862f9d158abb5e519a6d8605540c23682" : {
- "balance" : "0x05",
- "code" : "0x60016000556000600060006000600073b000000000000000000000000000000000000000600035f1600155600c600455",
- "nonce" : "54",
- "storage" : {
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- }
- }
- }
- },
- {
- "comment" : "OOG in subcall",
- "indexes" : {
- "data" : 0,
- "gas" : 1,
- "value" : 0
- },
- "network" : ["ALL"],
- "result" : {
- "3e180b1862f9d158abb5e519a6d8605540c23682" : {
- "balance" : "0x06",
- "code" : "0x",
- "nonce" : "54",
- "storage" : {
- "0x00" : "0x01",
- "0x04" : "0x0c"
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- }
- }
- }
- },
- {
- "comment" : "OOG after subcall",
- "indexes" : {
- "data" : 1,
- "gas" : 0,
- "value" : 0
- },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "3e180b1862f9d158abb5e519a6d8605540c23682" : {
- "balance" : "0x05",
- "code" : "0x",
- "nonce" : "54",
- "storage" : {
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- }
- }
- }
- },
- {
- "comment" : "OOG after subcall",
- "indexes" : {
- "data" : 1,
- "gas" : 0,
- "value" : 0
- },
- "network" : ["Homestead", "Frontier"],
- "result" : {
- "3e180b1862f9d158abb5e519a6d8605540c23682" : {
- "balance" : "0x05",
- "code" : "0x60016000556000600060006000600073b000000000000000000000000000000000000000600035f1600155600c600455",
- "nonce" : "54",
- "storage" : {
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- }
- }
- }
- },
- {
- "comment" : "double OOG",
- "indexes" : {
- "data" : 0,
- "gas" : 0,
- "value" : 0
- },
- "network" : ["ALL"],
- "result" : {
- "3e180b1862f9d158abb5e519a6d8605540c23682" : {
- "balance" : "0x05",
- "code" : "0x",
- "nonce" : "54",
- "storage" : {
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "3e180b1862f9d158abb5e519a6d8605540c23682" : {
- "balance" : "5",
- "code" : "{ [[0]] 1 [[1]] (STATICCALL (CALLDATALOAD 0) 0xb000000000000000000000000000000000000000 0 0 0 0 0) [[4]] 12 }",
- "nonce" : "54",
- "storage" : {
- }
- },
- "b000000000000000000000000000000000000000" : {
- "balance" : "",
- "code" : "{ [[2]] 8 (CREATE 0 0 0) [[3]] 12}",
- "nonce" : "",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : "Call with value to address A, then another call X, in the call X CREATE of account A, OOG -> revert call X.",
- "data" : "d0g0 - double OOG, d0g1 - OOG inside subcall, d1g0 - OOG after subcall, d1g1 - no OOG",
- "data" : [
- "000000000000000000000000000000000000000000000000000000000000ea60",
- "000000000000000000000000000000000000000000000000000000000001ea60"
- ],
- "gasLimit" : [
- "110000", "160000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "3e180b1862f9d158abb5e519a6d8605540c23682",
- "value" : [
- "1", "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertDepthCreateOOGFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertDepthCreateOOGFiller.json
deleted file mode 100644
index a0a45db29..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertDepthCreateOOGFiller.json
+++ /dev/null
@@ -1,178 +0,0 @@
-{
- "static_RevertDepthCreateOOG" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "comment" : "NO OOG",
- "indexes" : {
- "data" : 1,
- "gas" : 1,
- "value" : 0
- },
- "network" : ["EIP158"],
- "result" : {
- "3e180b1862f9d158abb5e519a6d8605540c23682" : {
- "nonce" : "1"
- },
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x04" : "0x0c"
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- "0x02" : "0x08",
- "0x03" : "0x0c"
- }
- }
- }
- },
- {
- "comment" : "NO OOG",
- "indexes" : {
- "data" : 1,
- "gas" : 1,
- "value" : 0
- },
- "network" : ["EIP150"],
- "result" : {
- "3e180b1862f9d158abb5e519a6d8605540c23682" : {
- "nonce" : "0"
- },
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x04" : "0x0c"
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- "0x02" : "0x08",
- "0x03" : "0x0c"
- }
- }
- }
- },
- {
- "comment" : "NO OOG",
- "indexes" : {
- "data" : 1,
- "gas" : 1,
- "value" : 0
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "3e180b1862f9d158abb5e519a6d8605540c23682" : {
- "shouldnotexist" : "1"
- },
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- }
- }
- }
- },
- {
- "comment" : "OOG in subcall",
- "indexes" : {
- "data" : 0,
- "gas" : 1,
- "value" : 0
- },
- "network" : ["ALL"],
- "result" : {
- "3e180b1862f9d158abb5e519a6d8605540c23682" : {
- "shouldnotexist" : "1"
- },
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x04" : "0x0c"
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- }
- }
- }
- },
- {
- "comment" : "OOG after subcall / double OOG",
- "indexes" : {
- "data" : [1, 0],
- "gas" : 0,
- "value" : 0
- },
- "network" : ["ALL"],
- "result" : {
- "3e180b1862f9d158abb5e519a6d8605540c23682" : {
- "shouldnotexist" : "1"
- },
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a000000000000000000000000000000000000000" : {
- "balance" : "5",
- "code" : "{ [[0]] 1 [[1]] (STATICCALL (CALLDATALOAD 0) 0xb000000000000000000000000000000000000000 0 0 0 0 0) [[4]] 12 }",
- "nonce" : "54",
- "storage" : {
- }
- },
- "b000000000000000000000000000000000000000" : {
- "balance" : "",
- "code" : "{ [[2]] 8 (CREATE 0 0 0) [[3]] 12}",
- "nonce" : "",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : "Call with value to address A, then another call X, in the call X CREATE of account A, OOG -> revert call X.",
- "data" : "d0g0 - double OOG, d0g1 - OOG inside subcall, d1g0 - OOG after subcall, d1g1 - no OOG",
- "data" : [
- "000000000000000000000000000000000000000000000000000000000000ea60",
- "000000000000000000000000000000000000000000000000000000000001ea60"
- ],
- "gasLimit" : [
- "110000", "160000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
- "value" : [
- "1", "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeCallsFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeCallsFiller.json
deleted file mode 100644
index 8e07bc0df..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeCallsFiller.json
+++ /dev/null
@@ -1,299 +0,0 @@
-{
- "static_RevertOpcodeCalls" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP150", "EIP158"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- },
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x0a" : "0x01"
- }
- },
- "b0005374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x02" : "0x0e"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 0,
- "gas" : 1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP150", "EIP158"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- },
- "b0005374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 0,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- },
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x0a" : "0x01"
- }
- },
- "b0005374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0",
- "storage" : {
- "0x00" : "0x00",
- "0x02" : "0x0e"
- }
- }
- }
- },
- {
- "comment" : "OOG",
- "indexes" : {
- "data" : 0,
- "gas" : 1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- },
- "b0005374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- },
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x0a" : "0x01"
- }
- },
- "b1005374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0",
- "storage" : {
- "0x00" : "0x00",
- "0x02" : "0x0e"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : 1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- },
- "b1005374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 2,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- },
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x0a" : "0x01"
- }
- },
- "b2005374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0",
- "storage" : {
- "0x00" : "0x00",
- "0x02" : "0x0e"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 2,
- "gas" : 1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- },
- "b2005374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 3,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- },
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x0a" : "0x01"
- }
- },
- "b3005374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0",
- "storage" : {
- "0x00" : "0x01",
- "0x02" : "0x0e"
- }
- },
- "b3305374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0",
- "storage" : {
- "0x04" : "0x00",
- "0x05" : "0x0e"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "code" : "{ [[10]] (STATICCALL 260000 (CALLDATALOAD 0) 0 0 0 0 0)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b0005374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "code" : "{ [[0]] (STATICCALL 50000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[2]] 14 }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b1005374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "code" : "{ [[0]] (CALLCODE 50000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[2]] 14 }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b2005374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "code" : "{ [[0]] (DELEGATECALL 50000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[2]] 14 }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b3005374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "code" : "{ [[0]] (STATICCALL 100000 0xb3305374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[2]] 14 }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b3305374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "code" : "{ [[4]] (STATICCALL 50000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[5]] 14 }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "code" : "{ [[1]] 12 (REVERT 0 1) [[3]] 13 }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000b0005374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000b1005374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000b2005374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x000000000000000000000000b3005374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "460000", "88000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "094f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeDirectCallFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeDirectCallFiller.json
deleted file mode 100644
index 90f01a82d..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeDirectCallFiller.json
+++ /dev/null
@@ -1,116 +0,0 @@
-{
- "static_RevertOpcodeDirectCall" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP150", "EIP158"],
- "result" : {
- "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
- "shouldnotexist" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0",
- "storage" : {
- "0x00" : "0x00",
- "0x02" : "0x0e"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : 1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "code" : "{ [[10]] (STATICCALL 60000 (CALLDATALOAD 0) 0 0 0 0 0)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "code" : "!!! STRANGE: CALL works, but if called from 094... it wont work. even if gas is enough. seems to be OOG.",
- "code" : "{ [[0]] (STATICCALL 50000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[2]] 14 }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1",
- "code" : "{ [[1]] 12 (REVERT 0 1) [[3]] 13 }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x000000000000000000000000b94f5374fce5edbc8e2a8697c15331677e6ebf0b"
- ],
- "gasLimit" : [
- "460000", "68000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeMultipleSubCallsFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeMultipleSubCallsFiller.json
deleted file mode 100644
index 9dbcdee84..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeMultipleSubCallsFiller.json
+++ /dev/null
@@ -1,412 +0,0 @@
-{
- "static_RevertOpcodeMultipleSubCalls" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP150", "EIP158"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x01"
- },
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x04" : "0x0c",
- "0x05" : "0x0c"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 0,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x01"
- },
- "a000000000000000000000000000000000000000" : {
- "nonce" : "0x00",
- "storage" : {
- "0x04" : "0x0c",
- "0x05" : "0x0c",
- "0x0a" : "0x00",
- "0x0b" : "0x00",
- "0x0c" : "0x00"
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "c000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "d000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x01"
- },
- "a100000000000000000000000000000000000000" : {
- "nonce" : "0x00",
- "storage" : {
- "0x04" : "0x0c",
- "0x05" : "0x0c",
- "0x0a" : "0x00",
- "0x0b" : "0x00",
- "0x0c" : "0x00"
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "c000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "d000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 2,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x01"
- },
- "a200000000000000000000000000000000000000" : {
- "nonce" : "0x00",
- "storage" : {
- "0x04" : "0x0c",
- "0x05" : "0x0c",
- "0x0a" : "0x00",
- "0x0b" : "0x00",
- "0x0c" : "0x00"
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "c000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "d000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 3,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x01"
- },
- "a300000000000000000000000000000000000000" : {
- "nonce" : "0x00",
- "storage" : {
- "0x04" : "0x0c",
- "0x05" : "0x0c",
- "0x0a" : "0x00",
- "0x0b" : "0x00",
- "0x0c" : "0x00"
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "c000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "d000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 0,
- "gas" : [2],
- "value" : [1,0]
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x01"
- },
- "a000000000000000000000000000000000000000" : {
- "nonce" : "0x00",
- "storage" : {
- "0x04" : "0x0c",
- "0x05" : "0x0c",
- "0x0a" : "0x00",
- "0x0b" : "0x00",
- "0x0c" : "0x00"
- }
- },
- "a100000000000000000000000000000000000000" : {
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "a200000000000000000000000000000000000000" : {
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "a300000000000000000000000000000000000000" : {
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "c000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "d000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : [1],
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "0x01"
- },
- "a000000000000000000000000000000000000000" : {
- "nonce" : "0x00",
- "storage" : {
- "0x04" : "0x00",
- "0x05" : "0x00",
- "0x0a" : "0x00",
- "0x0b" : "0x00",
- "0x0c" : "0x00"
- }
- },
- "a100000000000000000000000000000000000000" : {
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "a200000000000000000000000000000000000000" : {
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "a300000000000000000000000000000000000000" : {
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "c000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "d000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "ac00000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ (STATICCALL 260000 (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {}
- },
- "a000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "simple calls",
- "code" : "call -> callA-> revert | callB -> revert | some code * and OOG scenarious",
- "code" : "{ [[10]](STATICCALL 50000 0xb000000000000000000000000000000000000000 0 0 0 0 0) [[11]](STATICCALL 50000 0xc000000000000000000000000000000000000000 0 0 0 0 0) [[12]](STATICCALL 50000 0xd000000000000000000000000000000000000000 0 0 0 0 0) [[4]]12 [[5]]12 }",
- "nonce" : "",
- "storage" : {
- }
- },
- "a100000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[10]](CALLCODE 50000 0xb000000000000000000000000000000000000000 0 0 0 0 0) [[11]](CALLCODE 50000 0xc000000000000000000000000000000000000000 0 0 0 0 0) [[12]](CALLCODE 50000 0xd000000000000000000000000000000000000000 0 0 0 0 0) [[4]]12 [[5]]12 }",
- "nonce" : "",
- "storage" : {
- }
- },
- "a200000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[10]](DELEGATECALL 50000 0xb000000000000000000000000000000000000000 0 0 0 0) [[11]](DELEGATECALL 50000 0xc000000000000000000000000000000000000000 0 0 0 0) [[12]](DELEGATECALL 50000 0xd000000000000000000000000000000000000000 0 0 0 0) [[4]]12 [[5]]12 }",
- "nonce" : "",
- "storage" : {
- }
- },
- "a300000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[10]](STATICCALL 50000 0xb000000000000000000000000000000000000000 0 0 0 0 0) [[11]](DELEGATECALL 50000 0xc000000000000000000000000000000000000000 0 0 0 0) [[12]](CALLCODE 50000 0xd000000000000000000000000000000000000000 0 0 0 0 0) [[4]]12 [[5]]12 }",
- "nonce" : "",
- "storage" : {
- }
- },
- "b000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[1]] 12 (REVERT 0 1) }",
- "nonce" : "",
- "storage" : {
- }
- },
- "c000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[2]] 12 (REVERT 0 1) }",
- "nonce" : "",
- "storage" : {
- }
- },
- "d000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[3]] 12 (REVERT 0 1) }",
- "nonce" : "",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "000000000000000000000000a000000000000000000000000000000000000000",
- "000000000000000000000000a100000000000000000000000000000000000000",
- "000000000000000000000000a200000000000000000000000000000000000000",
- "000000000000000000000000a300000000000000000000000000000000000000"
- ],
- "gasLimit" : [
- "800000", "140000", "160000", "50000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "ac00000000000000000000000000000000000000",
- "value" : [
- "0", "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeReturnFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeReturnFiller.json
deleted file mode 100644
index 4bd1f6b65..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertOpcodeReturnFiller.json
+++ /dev/null
@@ -1,157 +0,0 @@
-{
- "static_RevertOpcodeReturn" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP150", "EIP158"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "a000000000000000000000000000000000000000" : {
- "balance" : "0",
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 0,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x726576657274206d657373616765"
- }
- },
- "a100000000000000000000000000000000000000" : {
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : [1,2,3,4,5],
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "a100000000000000000000000000000000000000" : {
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[1]](STATICCALL 150000 (CALLDATALOAD 0) 0 0 0 0 32) [[2]] (MLOAD 0) }",
- "nonce" : "",
- "storage" : {
- }
- },
- "a100000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ (SSTORE 0 0x72657665727465642064617461) (MSTORE 0 0x726576657274206d657373616765) (REVERT 0 32) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a200000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ (SSTORE 0 0x72657665727465642064617461) (MSTORE 0 0x726576657274206d657373616765) (REVERT 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a300000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ (SSTORE 0 0x72657665727465642064617461) (MSTORE 0 0x726576657274206d657373616765) (REVERT 0 0xfffffffffffffffffffffffffffff) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a400000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ (SSTORE 0 0x72657665727465642064617461) (MSTORE 0 0x726576657274206d657373616765) (REVERT 0x0100 0x00) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a500000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ (SSTORE 0 0x72657665727465642064617461) (MSTORE 0 0x726576657274206d657373616765) (REVERT 0x01 0x00) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a600000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ (SSTORE 0 0x72657665727465642064617461) (MSTORE 0 0x726576657274206d657373616765) (REVERT 0xfffffffffffffffffffffffffffff 0x00) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "000000000000000000000000a100000000000000000000000000000000000000",
- "000000000000000000000000a200000000000000000000000000000000000000",
- "000000000000000000000000a300000000000000000000000000000000000000",
- "000000000000000000000000a400000000000000000000000000000000000000",
- "000000000000000000000000a500000000000000000000000000000000000000",
- "000000000000000000000000a600000000000000000000000000000000000000"
- ],
- "gasLimit" : [
- "800000", "70000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrecompiledTouchFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrecompiledTouchFiller.json
deleted file mode 100644
index 9386a4766..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrecompiledTouchFiller.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{
- "static_RevertPrecompiledTouch" : {
- "env" : {
- "currentCoinbase" : "68795C4AA09D6f4Ed3E5DeDDf8c2AD3049A601da",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "4012015",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "0000000000000000000000000000000000000001" : {
- "balance" : "0"
- },
- "0000000000000000000000000000000000000002" : {
- "balance" : "0"
- },
- "0000000000000000000000000000000000000003" : {
- "balance" : "0"
- },
- "0000000000000000000000000000000000000004" : {
- "balance" : "0"
- },
- "0000000000000000000000000000000000000005" : {
- "balance" : "0"
- },
- "0000000000000000000000000000000000000006" : {
- "balance" : "0"
- },
- "0000000000000000000000000000000000000007" : {
- "balance" : "0"
- },
- "0000000000000000000000000000000000000008" : {
- "balance" : "0"
- }
- }
- }
- ],
- "pre" : {
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "code" : "{ (STATICCALL 50000 1 0 0 0 0 0) (STATICCALL 50000 2 0 0 0 0 0) (STATICCALL 50000 3 0 0 0 0 0) (STATICCALL 50000 4 0 0 0 0 0) (STATICCALL 50000 5 0 0 0 0 0) (STATICCALL 50000 6 0 0 0 0 0) (STATICCALL 50000 7 0 0 0 0 0) (STATICCALL 50000 8 0 0 0 0 0) [[1]] (GAS) [[2]] (GAS) [[3]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "1",
- "storage" : {
- }
- },
- "0000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0000000000000000000000000000000000000004" : {
- "balance" : "0",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0000000000000000000000000000000000000005" : {
- "balance" : "0",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0000000000000000000000000000000000000006" : {
- "balance" : "0",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0000000000000000000000000000000000000007" : {
- "balance" : "0",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0000000000000000000000000000000000000008" : {
- "balance" : "0",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "60000"
- ],
- "gasPrice" : "1",
- "nonce" : "1",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundCallFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundCallFiller.json
deleted file mode 100644
index 6cfc6c5e5..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundCallFiller.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{
- "static_RevertPrefoundCall" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : {
- "balance" : "1",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : {
- "balance" : "1",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : {
- "balance" : "1",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : {
- "balance" : "1",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a000000000000000000000000000000000000000" : {
- "balance" : "1",
- "code" : "{ [[0]] (STATICCALL 50000 0x7db299e0885c85039f56fa504a13dd8ce8a56aa7 0 0 32 0 32) [[1]]12 }",
- "nonce" : "",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : "so X has nothing but the balance Transaction calls A A creates X A went OOG",
- "data" : [
- ""
- ],
- "gasLimit" : [
- "94000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundEmptyCallFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundEmptyCallFiller.json
deleted file mode 100644
index c63955789..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundEmptyCallFiller.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "static_RevertPrefoundEmptyCall" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : {
- "balance" : "0",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : {
- "balance" : "0",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : {
- "shouldnotexist" : "1"
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : {
- "balance" : "0",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a000000000000000000000000000000000000000" : {
- "balance" : "1",
- "code" : "{ [[0]] (STATICCALL 50000 0x7db299e0885c85039f56fa504a13dd8ce8a56aa7 0 0 32 0 32) [[1]]12 }",
- "nonce" : "",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : "so X has nothing but the balance Transaction calls A A creates X A went OOG",
- "data" : [
- ""
- ],
- "gasLimit" : [
- "94000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundEmptyCallOOGFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundEmptyCallOOGFiller.json
deleted file mode 100644
index 3ed5dbbc6..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundEmptyCallOOGFiller.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "static_RevertPrefoundEmptyCallOOG" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : {
- "balance" : "0",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : {
- "balance" : "0",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a000000000000000000000000000000000000000" : {
- "balance" : "1",
- "code" : "{ [[0]] (STATICCALL 50000 0x7db299e0885c85039f56fa504a13dd8ce8a56aa7 0 0 32 0 32) [[1]]12 [[2]]12 }",
- "nonce" : "",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : "so X has nothing but the balance Transaction calls A A creates X A went OOG",
- "data" : [
- ""
- ],
- "gasLimit" : [
- "63000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_StoreClearsAndInternlCallStoreClearsOOGFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_StoreClearsAndInternlCallStoreClearsOOGFiller.json
deleted file mode 100644
index f5dac0424..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_StoreClearsAndInternlCallStoreClearsOOGFiller.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "static_StoreClearsAndInternlCallStoreClearsOOG" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "0000000000000000000000000000000000000000" : {
- "balance" : "0",
- "storage" : {
- "0x" : "0x0c",
- "0x01" : "0x0c",
- "0x02" : "0x0c",
- "0x03" : "0x0c",
- "0x04" : "0x0c",
- "0x05" : "0x0c",
- "0x06" : "0x0c",
- "0x07" : "0x0c",
- "0x08" : "0x0c",
- "0x09" : "0x0c"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "20",
- "storage" : {
- "0x04" : "0x0c"
- }
- }
- }
- }
- ],
- "pre" : {
- "0000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0)(SSTORE 4 0)(SSTORE 5 0)(SSTORE 6 0)(SSTORE 7 0)(SSTORE 8 0)(SSTORE 9 0)}",
- "nonce" : "0",
- "storage" : {
- "0x" : "0x0c",
- "0x01" : "0x0c",
- "0x02" : "0x0c",
- "0x03" : "0x0c",
- "0x04" : "0x0c",
- "0x05" : "0x0c",
- "0x06" : "0x0c",
- "0x07" : "0x0c",
- "0x08" : "0x0c",
- "0x09" : "0x0c"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "500000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10",
- "code" : "{(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0) (STATICCALL 20000 0 1 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- "0x" : "0x0c",
- "0x01" : "0x0c",
- "0x02" : "0x0c",
- "0x03" : "0x0c",
- "0x04" : "0x0c"
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "200000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "c94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_StoreClearsAndInternlCallStoreClearsSuccessFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_StoreClearsAndInternlCallStoreClearsSuccessFiller.json
deleted file mode 100644
index 9d3a330f1..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_StoreClearsAndInternlCallStoreClearsSuccessFiller.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "static_StoreClearsAndInternlCallStoreClearsSuccess" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "0000000000000000000000000000000000000000" : {
- "balance" : "1",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "19",
- "storage" : {
- "0x04" : "0x0c"
- }
- }
- }
- }
- ],
- "pre" : {
- "0000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0)(SSTORE 4 0)(SSTORE 5 0)(SSTORE 6 0)(SSTORE 7 0)(SSTORE 8 0)(SSTORE 9 0)}",
- "nonce" : "0",
- "storage" : {
- "0x" : "0x0c",
- "0x01" : "0x0c",
- "0x02" : "0x0c",
- "0x03" : "0x0c",
- "0x04" : "0x0c",
- "0x05" : "0x0c",
- "0x06" : "0x0c",
- "0x07" : "0x0c",
- "0x08" : "0x0c",
- "0x09" : "0x0c"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "500000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "//" : "gas = 19 going OOG, gas = 20 fine",
- "balance" : "10",
- "code" : "{(SSTORE 0 0)(SSTORE 1 0)(SSTORE 2 0)(SSTORE 3 0) (STATICCALL 50000 0 1 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- "0x" : "0x0c",
- "0x01" : "0x0c",
- "0x02" : "0x0c",
- "0x03" : "0x0c",
- "0x04" : "0x0c"
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "200000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "c94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicideToExistingContractFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicideToExistingContractFiller.json
deleted file mode 100644
index 726a622de..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicideToExistingContractFiller.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "static_SuicideToExistingContract" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "1000000000000000000000000000000000000118" : {
- "shouldnotexist" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x08bf58"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000118" : {
- "shouldnotexist" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x08d574"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "check gas spent on suicide known contract on EIP150",
- "code" : "{ (STATICCALL 60000 0x1000000000000000000000000000000000000118 0 0 0 0 0) [[1]] (GAS) }",
- "storage": {
- }
- },
- "1000000000000000000000000000000000000118" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "Suicide to existing account",
- "code" : "{ (SELFDESTRUCT 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicideToNotExistingContractFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicideToNotExistingContractFiller.json
deleted file mode 100644
index 904aa1f19..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicideToNotExistingContractFiller.json
+++ /dev/null
@@ -1,109 +0,0 @@
-{
- "static_SuicideToNotExistingContract" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150"],
- "result" : {
- "1000000000000000000000000000000000000116" : {
- "shouldnotexist" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x085db0"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "1000000000000000000000000000000000000116" : {
- "shouldnotexist" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x08bf58"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000116" : {
- "shouldnotexist" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x08d574"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "check gas spent on suicide to unknown contract on EIP150",
- "code" : "{ (STATICCALL 60000 0x1000000000000000000000000000000000000116 0 0 0 0 0) [[1]] (GAS) }",
- "storage": {
- }
- },
- "1000000000000000000000000000000000000116" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "Suicide to not existing account",
- "code" : "{ (SELFDESTRUCT 0x2000000000000000000000000000000000000115) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesBonusGasAtCallFailedFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesBonusGasAtCallFailedFiller.json
deleted file mode 100644
index 1eb733f3d..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesBonusGasAtCallFailedFiller.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "static_SuicidesAndInternlCallSuicidesBonusGasAtCallFailed" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "0000000000000000000000000000000000000000" : {
- "balance" : "20",
- "code" : "0x6001ff"
- }
- }
- }
- ],
- "pre" : {
- "0000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{(SELFDESTRUCT 0x0000000000000000000000000000000000000001)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10",
- "code" : "{(STATICCALL 0 0x0000000000000000000000000000000000000000 0 0 0 0 0) (SELFDESTRUCT 0)}",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "50000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "c94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesBonusGasAtCallFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesBonusGasAtCallFiller.json
deleted file mode 100644
index c8f980f7a..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesBonusGasAtCallFiller.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
- "static_SuicidesAndInternlCallSuicidesBonusGasAtCall" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "0000000000000000000000000000000000000001" : {
- "balance" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "shouldnotexist" : "1"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "0000000000000000000000000000000000000001" : {
- "shouldnotexist" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "shouldnotexist" : "1"
- }
- }
- }
- ],
- "pre" : {
- "0000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{(SELFDESTRUCT 0x0000000000000000000000000000000000000001)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10",
- "code" : "{(STATICCALL 0 0x0000000000000000000000000000000000000000 1 0 0 0 0) (SELFDESTRUCT 0)}",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "50000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "c94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesOOGFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesOOGFiller.json
deleted file mode 100644
index cea315bc1..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesOOGFiller.json
+++ /dev/null
@@ -1,72 +0,0 @@
-{
- "static_SuicidesAndInternlCallSuicidesOOG" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "0000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "0x6001ff"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10"
- }
- }
- }
- ],
- "pre" : {
- "0000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{(SELFDESTRUCT 0x0000000000000000000000000000000000000001)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10",
- "code" : "{(STATICCALL 22000 0x0000000000000000000000000000000000000000 1 0 0 0 0) (SELFDESTRUCT 0)}",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "50000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "c94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesSuccessFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesSuccessFiller.json
deleted file mode 100644
index a9dc7b5cf..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesAndInternlCallSuicidesSuccessFiller.json
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- "static_SuicidesAndInternlCallSuicidesSuccess" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "0000000000000000000000000000000000000001" : {
- "balance" : "1",
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "0000000000000000000000000000000000000001" : {
- "balance" : "1",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "0000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{(SELFDESTRUCT 0x0000000000000000000000000000000000000001)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "180000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000",
- "code" : "{(STATICCALL (CALLDATALOAD 0) 0x0000000000000000000000000000000000000000 1 0 0 0 0) (SELFDESTRUCT 0)}",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x00000000000000000000000000000000000000000000000000000000000055f0", "0x000000000000000000000000000000000000000000000000000000000000aaf0"
- ],
- "gasLimit" : [
- "150000"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "c94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesStopAfterSuicideFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesStopAfterSuicideFiller.json
deleted file mode 100644
index 2f4f714b2..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_SuicidesStopAfterSuicideFiller.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
- "static_SuicidesStopAfterSuicide" : {
- "env" : {
- "currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "100000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "0000000000000000000000000000000000000000" : {
- "code" : "0x6001ff",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "shouldnotexist" : "1"
- }
- }
- }
- ],
- "pre" : {
- "0000000000000000000000000000000000000000" : {
- "balance" : "1110",
- "code" : "{(SELFDESTRUCT 0x0000000000000000000000000000000000000001)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "122000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000",
- "code" : "{(SELFDESTRUCT 0) (STATICCALL 30000 0x0000000000000000000000000000000000000000 0 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "83700"
- ],
- "gasPrice" : "1",
- "nonce" : "",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "c94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_TouchToEmptyAccountRevert3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_TouchToEmptyAccountRevert3Filler.json
deleted file mode 100644
index 2be6fe5b2..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_TouchToEmptyAccountRevert3Filler.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "static_TouchToEmptyAccountRevert3" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "ba4f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]](STATICCALL 30000 0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[1]](STATICCALL 30000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }",
- "storage": {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[2]](STATICCALL 30000 0xe94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[3]] 1 }",
- "storage": {
- }
- },
- "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }",
- "storage": {
- }
- },
- "e94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "82400", "500000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "ba4f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_TouchToEmptyAccountRevertFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_TouchToEmptyAccountRevertFiller.json
deleted file mode 100644
index c90aaaf3f..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_TouchToEmptyAccountRevertFiller.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "static_TouchToEmptyAccountRevert" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000000" : {
- "balance" : "",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]](STATICCALL 30000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[2]] 1 }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[1]](STATICCALL 30000 0x1000000000000000000000000000000000000000 0 0 0 0) }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "70000", "500000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Transaction64Rule_d64m1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Transaction64Rule_d64m1Filler.json
deleted file mode 100644
index ebaecfe78..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Transaction64Rule_d64m1Filler.json
+++ /dev/null
@@ -1,96 +0,0 @@
-{
- "static_Transaction64Rule_d64m1" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "1000000000000000000000000000000000000118" : {
- "storage" : {
- "0x01" : "0x0c"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x021f33",
- "0x02" : "0x018015"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000118" : {
- "storage" : {
- "0x01" : "0"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0",
- "0x02" : "0"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "check gas spent on suicide known contract on EIP150",
- "code" : "{ [[0]] (GAS) (STATICCALL 160000 0x1000000000000000000000000000000000000118 0 0 0 0 0) [[2]] (GAS) }",
- "storage": {
- }
- },
- "1000000000000000000000000000000000000118" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[1]] 12 }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "160061"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Transaction64Rule_d64p1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Transaction64Rule_d64p1Filler.json
deleted file mode 100644
index 56231773b..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Transaction64Rule_d64p1Filler.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "static_Transaction64Rule_d64p1" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000118" : {
- "storage" : {
- "0x01" : "0x00"
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x021f35",
- "0x01" : "0x00",
- "0x02" : "0xd057"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "check gas spent on suicide known contract on EIP150",
- "code" : "{ [[0]] (GAS) [[1]](STATICCALL 60000 0x1000000000000000000000000000000000000118 0 0 0 0) [[2]] (GAS) }",
- "storage": {
- }
- },
- "1000000000000000000000000000000000000118" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[1]] 12 }",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "160063"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToEmpty_OOGRevertFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToEmpty_OOGRevertFiller.json
deleted file mode 100644
index c10db9c3c..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToEmpty_OOGRevertFiller.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "static_ZeroValue_CALL_ToEmpty_OOGRevert" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {}
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x64" : "0x00"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]](GAS) [[1]] (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "135000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToNonZeroBalance_OOGRevertFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToNonZeroBalance_OOGRevertFiller.json
deleted file mode 100644
index 1d9e26aa3..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToNonZeroBalance_OOGRevertFiller.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "static_ZeroValue_CALL_ToNonZeroBalance_OOGRevert" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x64" : "0x00"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]](GAS) [[1]] (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "135000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToOneStorageKey2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToOneStorageKey2Filler.json
deleted file mode 100644
index c88b1bb8e..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToOneStorageKey2Filler.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "static_ZeroValue_CALL_ToOneStorageKey2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "0x7fffffffffffffff",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "shouldnotexist" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0x01",
- "0x64" : "0x0836a0"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : 0,
- "gas" : 1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "shouldnotexist" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x6fffffffffffade6",
- "0x01" : "0x01",
- "0x64" : "0x6fffffffffff0ed0"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "comment" : " Zero-value call to empty account: should (i) charge only 700 gas, (ii) delete an account",
- "code" : "{ [[0]](GAS) [[1]] (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[100]] (GAS) }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- "0x00" : "0x01"
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "600000", "0x6ffffffffffffff0"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToOneStorageKey_OOGRevertFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToOneStorageKey_OOGRevertFiller.json
deleted file mode 100644
index 9dd6f18c9..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToOneStorageKey_OOGRevertFiller.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "static_ZeroValue_CALL_ToOneStorageKey_OOGRevert" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : { "0x00" : "0x01" }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x64" : "0x00"
- }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]](GAS) [[1]] (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 [[100]] (GAS) }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- "0x00" : "0x01"
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "135000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_ToEmpty_OOGRevertFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_ToEmpty_OOGRevertFiller.json
deleted file mode 100644
index ca4053a79..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_ToEmpty_OOGRevertFiller.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "static_ZeroValue_SELFDESTRUCT_ToEmpty_OOGRevert" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {}
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {}
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (STATICCALL 50000 0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 }",
- "storage": {
- }
- },
- "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SELFDESTRUCT 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b) }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "75000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_ToNonZeroBalance_OOGRevertFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_ToNonZeroBalance_OOGRevertFiller.json
deleted file mode 100644
index b43357ab1..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_ToNonZeroBalance_OOGRevertFiller.json
+++ /dev/null
@@ -1,79 +0,0 @@
-{
- "static_ZeroValue_SELFDESTRUCT_ToNonZeroBalance_OOGRevert" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {}
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100"
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (STATICCALL 50000 0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 }",
- "storage": {
- }
- },
- "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SELFDESTRUCT 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b) }",
- "storage": {
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100",
- "nonce" : "0",
- "code" : "",
- "storage": {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "75000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_ToOneStorageKey_OOGRevertFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_ToOneStorageKey_OOGRevertFiller.json
deleted file mode 100644
index 3d7aee123..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_ToOneStorageKey_OOGRevertFiller.json
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- "static_ZeroValue_SELFDESTRUCT_ToOneStorageKey_OOGRevert" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["ALL"],
- "result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : { "0x00" : "0x01" }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : { "0x00" : "0x01" }
- }
- }
- }
- ],
- "pre" :
- {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (STATICCALL 50000 0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[2]]12 [[3]]12 [[4]]12 }",
- "storage": {
- "0x00" : "0x01"
- }
- },
- "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SELFDESTRUCT 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b) }",
- "storage": {
- "0x00" : "0x01"
- }
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "",
- "storage": {
- "0x00" : "0x01"
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "75000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011Filler.json
deleted file mode 100644
index 2a28ffbc0..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011Filler.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "static_callcallcodecallcode_011" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00",
- "0x04" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x014a" : "0x00",
- "0x014c" : "0x00",
- "0x0150" : "0x00",
- "0x0152" : "0x00",
- "0x0154" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00",
- "0x04" : "0x00",
- "0x07" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 1 ]] (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 2 ]] (DELEGATECALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGEFiller.json
deleted file mode 100644
index 002e64df2..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGEFiller.json
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "static_callcallcodecallcode_011_OOGE" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGE_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGE_2Filler.json
deleted file mode 100644
index ef3f8f608..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGE_2Filler.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "static_callcallcodecallcode_011_OOGE_2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfter2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfter2Filler.json
deleted file mode 100644
index 1d775aa1e..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfter2Filler.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "static_callcallcodecallcode_011_OOGMAfter2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfterFiller.json
deleted file mode 100644
index 4815b0cbd..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfterFiller.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "static_callcallcodecallcode_011_OOGMAfter" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 60140 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfter_1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfter_1Filler.json
deleted file mode 100644
index 5a9d87395..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfter_1Filler.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{
- "static_callcallcodecallcode_011_OOGMAfter_1" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Metropolis"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "{ [[ 0 ]] (STATICCALL 60140 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "storage": {}
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "storage": {}
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "",
- "storage": {}
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMBefore2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMBefore2Filler.json
deleted file mode 100644
index f04feb2fc..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMBefore2Filler.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "static_callcallcodecallcode_011_OOGMBefore2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMBeforeFiller.json
deleted file mode 100644
index fc519188d..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMBeforeFiller.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
- "static_callcallcodecallcode_011_OOGMBefore" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideEnd2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideEnd2Filler.json
deleted file mode 100644
index fd5af0f97..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideEnd2Filler.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
- "static_callcallcodecallcode_011_SuicideEnd2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideEndFiller.json
deleted file mode 100644
index 64a5a5dce..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideEndFiller.json
+++ /dev/null
@@ -1,135 +0,0 @@
-{
- "static_callcallcodecallcode_011_SuicideEnd" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "shouldnotexist" : "1"
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideMiddle2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideMiddle2Filler.json
deleted file mode 100644
index 75ea9fc86..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideMiddle2Filler.json
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- "static_callcallcodecallcode_011_SuicideMiddle2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000010000000000",
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) [[ 2 ]] (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideMiddleFiller.json
deleted file mode 100644
index 44ec8f86e..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_SuicideMiddleFiller.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "static_callcallcodecallcode_011_SuicideMiddle" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) [[ 2 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json
deleted file mode 100644
index 530e2b912..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "static_callcallcodecallcode_ABCB_RECURSIVE2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "3000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x01",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "566210"
- }
- }
- },
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x01",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "568190"
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (CALLCODE 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (CALLCODE 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "30000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_ABCB_RECURSIVEFiller.json
deleted file mode 100644
index f159eb182..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_ABCB_RECURSIVEFiller.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{
- "static_callcallcodecallcode_ABCB_RECURSIVE" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "3000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "25026070"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x01",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "566204"
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x01",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "568184"
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 25000000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (DELEGATECALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "30000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10Filler.json
deleted file mode 100644
index 3f16f0494..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10Filler.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
- "static_callcodecall_10" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x04" : "0x00",
- "0x07" : "0x00",
- "0xe6" : "0x00",
- "0xe8" : "0x00",
- "0xec" : "0x00",
- "0xee" : "0x00",
- "0xf0" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x01",
- "0x04" : "0x1000000000000000000000000000000000000000",
- "0x07" : "0x01",
- "0xe6" : "0x1000000000000000000000000000000000000002",
- "0xe8" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0xec" : "0x40",
- "0xee" : "0x21",
- "0xf0" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 250000 0x1000000000000000000000000000000000000002 1 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE)) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_2Filler.json
deleted file mode 100644
index b6e80bd9f..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_2Filler.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{
- "static_callcodecall_10_2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x01",
- "0x04" : "0x1000000000000000000000000000000000000000",
- "0x07" : "0x02",
- "0xe6" : "0x1000000000000000000000000000000000000002",
- "0xe8" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0xec" : "0x40",
- "0xee" : "0x21",
- "0xf0" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 1 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 250000 0x1000000000000000000000000000000000000002 2 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (SSTORE 2 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 230 (ADDRESS)) (SSTORE 232 (ORIGIN)) (SSTORE 236 (CALLDATASIZE)) (SSTORE 238 (CODESIZE)) (SSTORE 240 (GASPRICE)) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_OOGEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_OOGEFiller.json
deleted file mode 100644
index 07a128805..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_OOGEFiller.json
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "static_callcodecall_10_OOGE" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (SSTORE 2 1) (MSTORE 2 1)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_SuicideEnd2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_SuicideEnd2Filler.json
deleted file mode 100644
index 6458255d3..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_SuicideEnd2Filler.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "static_callcodecall_10_SuicideEnd2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "storage" : {
- "0x02" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 50000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 2 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_SuicideEndFiller.json
deleted file mode 100644
index b8e44ecf8..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_SuicideEndFiller.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "static_callcodecall_10_SuicideEnd" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "shouldnotexist" : "1"
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x01",
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 50000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 2 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100Filler.json
deleted file mode 100644
index 7df498568..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100Filler.json
+++ /dev/null
@@ -1,134 +0,0 @@
-{
- "static_callcodecallcall_100" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x05" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x014a" : "0x00",
- "0x014c" : "0x00",
- "0x0150" : "0x00",
- "0x0152" : "0x00",
- "0x0154" : "0x00",
- "0x03" : "0x00",
- "0x04" : "0x00",
- "0x07" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x05" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x01"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x014a" : "0x1000000000000000000000000000000000000003",
- "0x014c" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x0150" : "0x40",
- "0x0152" : "0x26",
- "0x0154" : "0x01",
- "0x03" : "0x01",
- "0x04" : "0x1000000000000000000000000000000000000002",
- "0x07" : "0x02"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 300000 0x1000000000000000000000000000000000000002 1 0 64 0 64 ) (SSTORE 5 (CALLER))}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 2 ]] (STATICCALL 250000 0x1000000000000000000000000000000000000003 2 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_2Filler.json
deleted file mode 100644
index 3ed37f54e..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_2Filler.json
+++ /dev/null
@@ -1,95 +0,0 @@
-{
- "static_callcodecallcall_100_2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x01"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x014a" : "0x1000000000000000000000000000000000000003",
- "0x014c" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x0150" : "0x40",
- "0x0152" : "0x26",
- "0x0154" : "0x01",
- "0x03" : "0x01",
- "0x04" : "0x1000000000000000000000000000000000000002",
- "0x07" : "0x03"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 1 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 300000 0x1000000000000000000000000000000000000002 2 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 2 ]] (STATICCALL 250000 0x1000000000000000000000000000000000000003 3 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGE2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGE2Filler.json
deleted file mode 100644
index 34813f3b0..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGE2Filler.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "static_callcodecallcall_100_OOGE2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGEFiller.json
deleted file mode 100644
index 9b0aef21c..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGEFiller.json
+++ /dev/null
@@ -1,148 +0,0 @@
-{
- "static_callcodecallcall_100_OOGE" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfter2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfter2Filler.json
deleted file mode 100644
index 230782133..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfter2Filler.json
+++ /dev/null
@@ -1,132 +0,0 @@
-{
- "static_callcodecallcall_100_OOGMAfter2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfterFiller.json
deleted file mode 100644
index 95dfa9a21..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfterFiller.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
- "static_callcodecallcall_100_OOGMAfter" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfter_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfter_2Filler.json
deleted file mode 100644
index ee5e3865e..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfter_2Filler.json
+++ /dev/null
@@ -1,147 +0,0 @@
-{
- "static_callcodecallcall_100_OOGMAfter_2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "storage": {}
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "storage": {}
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "",
- "storage": {}
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfter_3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfter_3Filler.json
deleted file mode 100644
index 7d8fc6515..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMAfter_3Filler.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "static_callcodecallcall_100_OOGMAfter_3" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "storage": {}
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "storage": {}
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "",
- "storage": {}
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMBefore2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMBefore2Filler.json
deleted file mode 100644
index 8680d711f..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMBefore2Filler.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "static_callcodecallcall_100_OOGMBefore2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMBeforeFiller.json
deleted file mode 100644
index 2b6c46614..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_OOGMBeforeFiller.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
- "static_callcodecallcall_100_OOGMBefore" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideEnd2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideEnd2Filler.json
deleted file mode 100644
index aa494d02b..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideEnd2Filler.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "static_callcodecallcall_100_SuicideEnd2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "20000000000",
- "storage" : {
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideEndFiller.json
deleted file mode 100644
index d992a2411..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideEndFiller.json
+++ /dev/null
@@ -1,139 +0,0 @@
-{
- "static_callcodecallcall_100_SuicideEnd" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "shouldnotexist" : "1"
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideMiddleFiller.json
deleted file mode 100644
index 2473dd1d9..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideMiddleFiller.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
- "static_callcodecallcall_100_SuicideMiddle" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000010000000000",
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "shouldnotexist" : "1"
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) [[ 2 ]] (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_ABCB_RECURSIVE2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_ABCB_RECURSIVE2Filler.json
deleted file mode 100644
index e263cc347..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_ABCB_RECURSIVE2Filler.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "static_callcodecallcall_ABCB_RECURSIVE2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "3000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "566210"
- }
- }
- },
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "568190"
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 25000000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "30000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_ABCB_RECURSIVEFiller.json
deleted file mode 100644
index ff9c7301c..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_ABCB_RECURSIVEFiller.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "static_callcodecallcall_ABCB_RECURSIVE" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "3000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "30000000"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "566207"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "568187"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "30000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101Filler.json
deleted file mode 100644
index 019dac9e6..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101Filler.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{
- "static_callcodecallcallcode_101" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x05" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x014a" : "0x00",
- "0x014c" : "0x00",
- "0x0150" : "0x00",
- "0x0152" : "0x00",
- "0x0154" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00",
- "0x04" : "0x00",
- "0x06" : "0x00",
- "0x07" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x05" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x014a" : "0x1000000000000000000000000000000000000002",
- "0x014c" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x0150" : "0x40",
- "0x0152" : "0x26",
- "0x0154" : "0x01",
- "0x02" : "0x01",
- "0x03" : "0x01",
- "0x04" : "0x1000000000000000000000000000000000000000",
- "0x06" : "0x1000000000000000000000000000000000000000",
- "0x07" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 300000 0x1000000000000000000000000000000000000002 1 0 64 0 64 ) (SSTORE 5 (CALLER)) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 2 ]] (DELEGATECALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SSTORE 6 (CALLER)) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_2Filler.json
deleted file mode 100644
index b2456997f..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_2Filler.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "static_callcodecallcallcode_101_2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x014a" : "0x1000000000000000000000000000000000000002",
- "0x014c" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x0150" : "0x40",
- "0x0152" : "0x26",
- "0x0154" : "0x01",
- "0x02" : "0x01",
- "0x03" : "0x01",
- "0x04" : "0x1000000000000000000000000000000000000002",
- "0x07" : "0x03"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 1 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 300000 0x1000000000000000000000000000000000000002 2 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 2 ]] (CALLCODE 250000 0x1000000000000000000000000000000000000003 3 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGEFiller.json
deleted file mode 100644
index 393b3aade..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGEFiller.json
+++ /dev/null
@@ -1,148 +0,0 @@
-{
- "static_callcodecallcallcode_101_OOGE" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGE_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGE_2Filler.json
deleted file mode 100644
index 9f8373f90..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGE_2Filler.json
+++ /dev/null
@@ -1,99 +0,0 @@
-{
- "static_callcodecallcallcode_101_OOGE_2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfter2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfter2Filler.json
deleted file mode 100644
index d23557ff2..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfter2Filler.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "static_callcodecallcallcode_101_OOGMAfter2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfterFiller.json
deleted file mode 100644
index 7b5f65d33..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfterFiller.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
- "static_callcodecallcallcode_101_OOGMAfter" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfter_1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfter_1Filler.json
deleted file mode 100644
index 5c1e06d7b..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfter_1Filler.json
+++ /dev/null
@@ -1,131 +0,0 @@
-{
- "static_callcodecallcallcode_101_OOGMAfter_1" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "storage": {}
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "storage": {}
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "",
- "storage": {}
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfter_3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfter_3Filler.json
deleted file mode 100644
index 3c4a6f8c3..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMAfter_3Filler.json
+++ /dev/null
@@ -1,147 +0,0 @@
-{
- "static_callcodecallcallcode_101_OOGMAfter_3" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "storage": {}
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "storage": {}
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "",
- "storage": {}
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMBefore2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMBefore2Filler.json
deleted file mode 100644
index efe8e42af..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMBefore2Filler.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "static_callcodecallcallcode_101_OOGMBefore2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMBeforeFiller.json
deleted file mode 100644
index 674790bc6..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_OOGMBeforeFiller.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
- "static_callcodecallcallcode_101_OOGMBefore" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) [[ 2 ]] (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideEnd2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideEnd2Filler.json
deleted file mode 100644
index d0ff145e6..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideEnd2Filler.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
- "static_callcodecallcallcode_101_SuicideEnd2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "20000000000",
- "storage" : {
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideEndFiller.json
deleted file mode 100644
index 0c50d3d14..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideEndFiller.json
+++ /dev/null
@@ -1,143 +0,0 @@
-{
- "static_callcodecallcallcode_101_SuicideEnd" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "shouldnotexist" : "1"
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideMiddle2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideMiddle2Filler.json
deleted file mode 100644
index 8d7f6d752..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideMiddle2Filler.json
+++ /dev/null
@@ -1,93 +0,0 @@
-{
- "static_callcodecallcallcode_101_SuicideMiddle2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000010000000000",
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) [[ 2 ]] (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideMiddleFiller.json
deleted file mode 100644
index 189251e6d..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_101_SuicideMiddleFiller.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
- "static_callcodecallcallcode_101_SuicideMiddle" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000010000000000",
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "shouldnotexist" : "1"
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) [[ 2 ]] (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json
deleted file mode 100644
index ce38014a0..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "static_callcodecallcallcode_ABCB_RECURSIVE2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "3000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "566210"
- }
- }
- },
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "568190"
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 25000000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (CALLCODE 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "30000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_ABCB_RECURSIVEFiller.json
deleted file mode 100644
index 5186812fe..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcallcode_ABCB_RECURSIVEFiller.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "static_callcodecallcallcode_ABCB_RECURSIVE" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "3000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "30000000"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "566204"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "568184"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "30000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_1102Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_1102Filler.json
deleted file mode 100644
index 1399d3285..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_1102Filler.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "static_callcodecallcodecall_110_2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x02" : "0x01"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x014a" : "0x1000000000000000000000000000000000000003",
- "0x014c" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x0150" : "0x40",
- "0x0152" : "0x26",
- "0x0154" : "0x01",
- "0x03" : "0x01",
- "0x04" : "0x1000000000000000000000000000000000000000",
- "0x07" : "0x03"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 1 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 1 ]] (CALLCODE 300000 0x1000000000000000000000000000000000000002 2 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 2 ]] (STATICCALL 250000 0x1000000000000000000000000000000000000003 3 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110Filler.json
deleted file mode 100644
index 46ad433f3..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110Filler.json
+++ /dev/null
@@ -1,140 +0,0 @@
-{
- "static_callcodecallcodecall_110" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x05" : "0x00",
- "0x06" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x014a" : "0x00",
- "0x014c" : "0x00",
- "0x0150" : "0x00",
- "0x0152" : "0x00",
- "0x0154" : "0x00",
- "0x03" : "0x00",
- "0x04" : "0x00",
- "0x07" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x02" : "0x01",
- "0x05" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x06" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x014a" : "0x1000000000000000000000000000000000000003",
- "0x014c" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x0150" : "0x40",
- "0x0152" : "0x26",
- "0x0154" : "0x01",
- "0x03" : "0x01",
- "0x04" : "0x1000000000000000000000000000000000000000",
- "0x07" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 1 ]] (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 5 (CALLER))}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 2 ]] (STATICCALL 250000 0x1000000000000000000000000000000000000003 1 0 64 0 64 ) (SSTORE 6 (CALLER))}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE)) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGE2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGE2Filler.json
deleted file mode 100644
index 4a2e3ee64..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGE2Filler.json
+++ /dev/null
@@ -1,100 +0,0 @@
-{
- "static_callcodecallcodecall_110_OOGE2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGEFiller.json
deleted file mode 100644
index 9773cacdc..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGEFiller.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
- "static_callcodecallcodecall_110_OOGE" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfter2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfter2Filler.json
deleted file mode 100644
index 47dae0f3d..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfter2Filler.json
+++ /dev/null
@@ -1,136 +0,0 @@
-{
- "static_callcodecallcodecall_110_OOGMAfter2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfterFiller.json
deleted file mode 100644
index 148b58226..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfterFiller.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
- "static_callcodecallcodecall_110_OOGMAfter" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfter_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfter_2Filler.json
deleted file mode 100644
index 6c89d2003..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfter_2Filler.json
+++ /dev/null
@@ -1,147 +0,0 @@
-{
- "static_callcodecallcodecall_110_OOGMAfter_2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "storage": {}
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "storage": {}
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "",
- "storage": {}
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfter_3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfter_3Filler.json
deleted file mode 100644
index 529c7676c..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMAfter_3Filler.json
+++ /dev/null
@@ -1,141 +0,0 @@
-{
- "static_callcodecallcodecall_110_OOGMAfter_3" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x020000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "storage": {}
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "storage": {}
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "nonce" : "0",
- "code" : "",
- "storage": {}
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMBefore2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMBefore2Filler.json
deleted file mode 100644
index e6f15b515..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMBefore2Filler.json
+++ /dev/null
@@ -1,102 +0,0 @@
-{
- "static_callcodecallcodecall_110_OOGMBefore2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMBeforeFiller.json
deleted file mode 100644
index 23bc61841..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_OOGMBeforeFiller.json
+++ /dev/null
@@ -1,150 +0,0 @@
-{
- "static_callcodecallcodecall_110_OOGMBefore" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ [[ 1 ]] (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) [[ 2 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "172000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideEndFiller.json
deleted file mode 100644
index 9fe15f353..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideEndFiller.json
+++ /dev/null
@@ -1,125 +0,0 @@
-{
- "static_callcodecallcodecall_110_SuicideEnd" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "shouldnotexist" : "1"
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideMiddle2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideMiddle2Filler.json
deleted file mode 100644
index 286ab5978..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideMiddle2Filler.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
- "static_callcodecallcodecall_110_SuicideMiddle2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
- "result" : {
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) [[ 2 ]] (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideMiddleFiller.json
deleted file mode 100644
index bc515c703..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideMiddleFiller.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
- "static_callcodecallcodecall_110_SuicideMiddle" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "storage" : {
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "shouldnotexist" : "1"
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "storage" : {
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) [[ 2 ]] (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json
deleted file mode 100644
index cdf0503f1..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "static_callcodecallcodecall_ABCB_RECURSIVE2" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "3000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "566210"
- }
- }
- },
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "568190"
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 25000000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (CALLCODE 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "30000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_ABCB_RECURSIVEFiller.json
deleted file mode 100644
index 5a739a451..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_ABCB_RECURSIVEFiller.json
+++ /dev/null
@@ -1,167 +0,0 @@
-{
- "static_callcodecallcodecall_ABCB_RECURSIVE" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "3000000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "30000000"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "566204"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "568184"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (DELEGATECALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "30000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecallcode_111_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecallcode_111_SuicideEndFiller.json
deleted file mode 100644
index aafe3d123..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecallcode_111_SuicideEndFiller.json
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- "static_callcodecallcodecallcode_111_SuicideEnd" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : "Frontier",
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead", "EIP158", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "shouldnotexist" : "1"
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 1 0 64 0 64) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ [[ 2 ]] (CALLCODE 50000 0x1000000000000000000000000000000000000003 2 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "3000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_nonEmptyMemFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_nonEmptyMemFiller.json
deleted file mode 100644
index fe0353ff5..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_nonEmptyMemFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log1_nonEmptyMem" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG1 0 32 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_nonEmptyMem_logMemSize1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_nonEmptyMem_logMemSize1Filler.json
deleted file mode 100644
index 9996f6d6e..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_nonEmptyMem_logMemSize1Filler.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log1_nonEmptyMem_logMemSize1" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 0 1 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_nonEmptyMem_logMemSize1_logMemStart31Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_nonEmptyMem_logMemSize1_logMemStart31Filler.json
deleted file mode 100644
index 9f3cdd9c4..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_nonEmptyMem_logMemSize1_logMemStart31Filler.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log1_nonEmptyMem_logMemSize1_logMemStart31" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG1 31 1 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_CallerFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_CallerFiller.json
deleted file mode 100644
index 108f13407..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_CallerFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log2_Caller" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE8 0 0xff) (LOG2 0 32 0 (CALLER) ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_MaxTopicFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_MaxTopicFiller.json
deleted file mode 100644
index ad2cf521b..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_MaxTopicFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log2_MaxTopic" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 0 32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_emptyMemFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_emptyMemFiller.json
deleted file mode 100644
index a4b2557ea..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_emptyMemFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log2_emptyMem" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (LOG2 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_logMemStartTooHighFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_logMemStartTooHighFiller.json
deleted file mode 100644
index 205ca9cbb..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_logMemStartTooHighFiller.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "static_log2_logMemStartTooHigh" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_logMemsizeTooHighFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_logMemsizeTooHighFiller.json
deleted file mode 100644
index cdd02eaa3..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_logMemsizeTooHighFiller.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "static_log2_logMemsizeTooHigh" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_logMemsizeZeroFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_logMemsizeZeroFiller.json
deleted file mode 100644
index 13cfe0ae7..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_logMemsizeZeroFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log2_logMemsizeZero" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 1 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_nonEmptyMemFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_nonEmptyMemFiller.json
deleted file mode 100644
index 798859cec..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_nonEmptyMemFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log2_nonEmptyMem" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG2 0 32 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_nonEmptyMem_logMemSize1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_nonEmptyMem_logMemSize1Filler.json
deleted file mode 100644
index 9030fec0a..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_nonEmptyMem_logMemSize1Filler.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log2_nonEmptyMem_logMemSize1" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 0 1 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_nonEmptyMem_logMemSize1_logMemStart31Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_nonEmptyMem_logMemSize1_logMemStart31Filler.json
deleted file mode 100644
index 615149e78..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log2_nonEmptyMem_logMemSize1_logMemStart31Filler.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log2_nonEmptyMem_logMemSize1_logMemStart31" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG2 31 1 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_CallerFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_CallerFiller.json
deleted file mode 100644
index c3a056e95..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_CallerFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log3_Caller" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE8 0 0xff) (LOG3 0 32 0 0 (CALLER) ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_MaxTopicFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_MaxTopicFiller.json
deleted file mode 100644
index d2bdeae9a..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_MaxTopicFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log3_MaxTopic" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 0 32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_PCFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_PCFiller.json
deleted file mode 100644
index adb36977a..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_PCFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log3_PC" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE8 0 0xff) (LOG3 0 32 (PC) (PC) (PC) ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_emptyMemFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_emptyMemFiller.json
deleted file mode 100644
index 945ff9f22..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_emptyMemFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log3_emptyMem" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (LOG3 0 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_logMemStartTooHighFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_logMemStartTooHighFiller.json
deleted file mode 100644
index 315a4d30a..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_logMemStartTooHighFiller.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "static_log3_logMemStartTooHigh" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_logMemsizeTooHighFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_logMemsizeTooHighFiller.json
deleted file mode 100644
index 24b64c0a8..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_logMemsizeTooHighFiller.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "static_log3_logMemsizeTooHigh" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_logMemsizeZeroFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_logMemsizeZeroFiller.json
deleted file mode 100644
index 2ac8451d1..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_logMemsizeZeroFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log3_logMemsizeZero" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 1 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_nonEmptyMemFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_nonEmptyMemFiller.json
deleted file mode 100644
index d14c0efb1..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_nonEmptyMemFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log3_nonEmptyMem" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG3 0 32 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_nonEmptyMem_logMemSize1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_nonEmptyMem_logMemSize1Filler.json
deleted file mode 100644
index 6d98bd14d..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_nonEmptyMem_logMemSize1Filler.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log3_nonEmptyMem_logMemSize1" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 0 1 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_nonEmptyMem_logMemSize1_logMemStart31Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_nonEmptyMem_logMemSize1_logMemStart31Filler.json
deleted file mode 100644
index e3edb402e..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log3_nonEmptyMem_logMemSize1_logMemStart31Filler.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log3_nonEmptyMem_logMemSize1_logMemStart31" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG3 31 1 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_CallerFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_CallerFiller.json
deleted file mode 100644
index 8db8f9ba0..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_CallerFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log4_Caller" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE8 0 0xff) (LOG4 0 32 0 0 0 (CALLER) ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_MaxTopicFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_MaxTopicFiller.json
deleted file mode 100644
index 2e8f47925..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_MaxTopicFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log4_MaxTopic" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 0 32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_PCFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_PCFiller.json
deleted file mode 100644
index e5a7d3a56..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_PCFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log4_PC" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE8 0 0xff) (LOG4 0 32 (PC) (PC) (PC) (PC) ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_emptyMemFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_emptyMemFiller.json
deleted file mode 100644
index acca8a112..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_emptyMemFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log4_emptyMem" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (LOG4 0 0 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_logMemStartTooHighFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_logMemStartTooHighFiller.json
deleted file mode 100644
index 3eeb7f647..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_logMemStartTooHighFiller.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "static_log4_logMemStartTooHigh" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 1 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_logMemsizeTooHighFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_logMemsizeTooHighFiller.json
deleted file mode 100644
index 86e1930ed..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_logMemsizeTooHighFiller.json
+++ /dev/null
@@ -1,66 +0,0 @@
-{
- "static_log4_logMemsizeTooHigh" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 1 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_logMemsizeZeroFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_logMemsizeZeroFiller.json
deleted file mode 100644
index da17539b4..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_logMemsizeZeroFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log4_logMemsizeZero" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 1 0 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_nonEmptyMemFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_nonEmptyMemFiller.json
deleted file mode 100644
index 0c4432ffd..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_nonEmptyMemFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log4_nonEmptyMem" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG4 0 32 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_nonEmptyMem_logMemSize1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_nonEmptyMem_logMemSize1Filler.json
deleted file mode 100644
index 87d44cdde..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_nonEmptyMem_logMemSize1Filler.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log4_nonEmptyMem_logMemSize1" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 0 1 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_nonEmptyMem_logMemSize1_logMemStart31Filler.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_nonEmptyMem_logMemSize1_logMemStart31Filler.json
deleted file mode 100644
index 2ab96ee07..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log4_nonEmptyMem_logMemSize1_logMemStart31Filler.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_log4_nonEmptyMem_logMemSize1_logMemStart31" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xaabbffffffffffffffffffffffffffffffffffffffffffffffffffffffffccdd) (LOG4 31 1 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_logInOOG_CallFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_logInOOG_CallFiller.json
deleted file mode 100644
index 0f2667d87..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_logInOOG_CallFiller.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "static_logInOOG_Call" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x" : "0x00"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 100000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (LOG0 0 32) (MLOAD 0xffffffffffffffff) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "210000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "100000"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refundSuicide50procentCapFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refundSuicide50procentCapFiller.json
deleted file mode 100644
index b49ee2d14..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refundSuicide50procentCapFiller.json
+++ /dev/null
@@ -1,110 +0,0 @@
-{
- "static_refundSuicide50procentCap" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x0a" : "0x01",
- "0x0b" : "0x01",
- "0x16" : "0x984376",
- "0x17" : "0x96bc55"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "70695"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "9929305",
- "nonce" : "1"
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x0a" : "0x01",
- "0x0b" : "0x01",
- "0x16" : "0x9843b6",
- "0x17" : "0x96a679"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "73493"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "9926507",
- "nonce" : "1"
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 22 ]] (GAS) [[ 10 ]] 1 [[ 11 ]] (STATICCALL (CALLDATALOAD 0) 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 0 ) [[ 1 ]] 0 [[ 2 ]] 0 [[ 3 ]] 0 [[ 4 ]] 0 [[ 5 ]] 0 [[ 6 ]] 0 [[ 7 ]] 0 [[ 8 ]] 0 [[ 23 ]] (GAS) }",
- "nonce" : "0",
- "storage" : {
- "0x01" : "0x01",
- "0x02" : "0x01",
- "0x03" : "0x01",
- "0x04" : "0x01",
- "0x05" : "0x01",
- "0x06" : "0x01",
- "0x07" : "0x01",
- "0x08" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
- "balance" : "1000000000000000000",
- "code" : "{ (SELFDESTRUCT 0x095e7baea6a6c7c4c2dfeb977efac326af552d87) }",
- "nonce" : "0",
- "storage" : {
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x00000000000000000000000000000000000000000000000000000000000001f4", "0x0000000000000000000000000000000000000000000000000000000000010000"
- ],
- "gasLimit" : [
- "10000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "0"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallAFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallAFiller.json
deleted file mode 100644
index 177f4bf6a..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallAFiller.json
+++ /dev/null
@@ -1,110 +0,0 @@
-{
- "static_refund_CallA" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000010",
- "storage" : {
- "0x" : "0x01",
- "0x01" : "0x01"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "31070"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1968920",
- "nonce" : "1"
- },
- "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000010",
- "storage" : {
- "0x" : "0x01",
- "0x01" : "0x01"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "31730"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1968260",
- "nonce" : "1"
- },
- "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
- "storage" : {
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 5500 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 0 )}",
- "nonce" : "0",
- "storage" : {
- "0x01" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "2000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 1 ]] 0 }",
- "nonce" : "0",
- "storage" : {
- "0x01" : "0x01"
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "200000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallA_notEnoughGasInCallFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallA_notEnoughGasInCallFiller.json
deleted file mode 100644
index 5c3a93498..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallA_notEnoughGasInCallFiller.json
+++ /dev/null
@@ -1,110 +0,0 @@
-{
- "static_refund_CallA_notEnoughGasInCall" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000010",
- "storage" : {
- "0x01" : "0x01"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "31069"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "68921",
- "nonce" : "1"
- },
- "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
- "storage" : {
- "0x01" : "0x01"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000010",
- "storage" : {
- "0x01" : "0x01"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "31729"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "68261",
- "nonce" : "1"
- },
- "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
- "storage" : {
- "0x01" : "0x01"
- }
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 5005 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 0 )}",
- "nonce" : "0",
- "storage" : {
- "0x01" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 1 ]] 0 }",
- "nonce" : "0",
- "storage" : {
- "0x01" : "0x01"
- }
- }
- },
- "transaction" : {
- "data" : [
- ""
- ],
- "gasLimit" : [
- "85000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallToSuicideStorageFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallToSuicideStorageFiller.json
deleted file mode 100644
index 6351fceec..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallToSuicideStorageFiller.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{
- "static_refund_CallToSuicideStorage" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "2000000000000000010",
- "storage" : {
- "0x" : "0x01",
- "0x01" : "0x01"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "20663"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "99979327",
- "nonce" : "1"
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "2000000000000000010",
- "storage" : {
- "0x" : "0x01",
- "0x01" : "0x01"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "23461"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "99976529",
- "nonce" : "1"
- },
- "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
- "shouldnotexist" : "1"
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL (CALLDATALOAD 0) 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 0 )}",
- "nonce" : "0",
- "storage" : {
- "0x01" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
- "balance" : "1000000000000000000",
- "code" : "{ (SELFDESTRUCT 0x095e7baea6a6c7c4c2dfeb977efac326af552d87) }",
- "nonce" : "0",
- "storage" : {
- "0x01" : "0x01"
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x00000000000000000000000000000000000000000000000000000000000001f4", "0x0000000000000000000000000000000000000000000000000000000000010000"
- ],
- "gasLimit" : [
- "10000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallToSuicideTwiceFiller.json b/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallToSuicideTwiceFiller.json
deleted file mode 100644
index 6948922cb..000000000
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallToSuicideTwiceFiller.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "static_refund_CallToSuicideTwice" : {
- "env" : {
- "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
- "currentNumber" : "1",
- "currentTimestamp" : "1000",
- "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
- },
- "expect" : [
- {
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "2000000000000000010",
- "storage" : {
- "0x" : "0x01",
- "0x01" : "0x01"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "20697"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "99979293",
- "nonce" : "1"
- },
- "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
- "shouldnotexist" : "1"
- }
- }
- },
- {
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "2000000000000000010",
- "storage" : {
- "0x" : "0x01",
- "0x01" : "0x01"
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "28649"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "99971341",
- "nonce" : "1"
- },
- "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
- "shouldnotexist" : "1"
- }
- }
- }
- ],
- "pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL (CALLDATALOAD 0) 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 0 ) (STATICCALL (CALLDATALOAD 0) 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 0 )}",
- "nonce" : "0",
- "storage" : {
- "0x01" : "0x01"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
- "balance" : "1000000000000000000",
- "code" : "{ (SELFDESTRUCT 0x095e7baea6a6c7c4c2dfeb977efac326af552d87) }",
- "nonce" : "0",
- "storage" : {
- "0x01" : "0x01"
- }
- }
- },
- "transaction" : {
- "data" : [
- "0x00000000000000000000000000000000000000000000000000000000000001f4", "0x0000000000000000000000000000000000000000000000000000000000010000"
- ],
- "gasLimit" : [
- "10000000"
- ],
- "gasPrice" : "1",
- "nonce" : "0",
- "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "value" : [
- "10"
- ]
- }
- }
-}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToNonZeroBalance2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CALL_OneVCallSuicideFiller.json
index b77d0cfda..f5517b8fd 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToNonZeroBalance2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CALL_OneVCallSuicideFiller.json
@@ -1,5 +1,5 @@
{
- "static_ZeroValue_CALL_ToNonZeroBalance2" : {
+ "static_CALL_OneVCallSuicide" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x020000",
@@ -18,13 +18,12 @@
"network" : ["Metropolis"],
"result" : {
"c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100"
+ "balance" : "1"
},
"b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
+ "storage" : {
"0x00" : "0x08d5b6",
- "0x01" : "0x01",
- "0x64" : "0x0836a0"
+ "0x64" : "0x079a61"
}
}
}
@@ -40,20 +39,20 @@
}
},
"b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
+ "balance" : "100",
"nonce" : "0",
- "comment" : " Zero-value call to empty account: should (i) charge only 700 gas, (ii) delete an account",
- "code" : "{ [[0]](GAS) [[1]] (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[100]] (GAS) }",
+ "code" : "{ [[0]](GAS) (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[100]] (GAS) }",
"storage": {
}
},
"c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
+ "balance" : "1",
+ "nonce" : "0",
+ "code" : "{ (SELFDESTRUCT 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b) }",
+ "storage": {
+ }
}
+
},
"transaction" : {
"data" : [
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Transaction64Rule_d64e0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CALL_ZeroVCallSuicideFiller.json
index c9246cb52..59d41889d 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Transaction64Rule_d64e0Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CALL_ZeroVCallSuicideFiller.json
@@ -1,5 +1,5 @@
{
- "static_Transaction64Rule_d64e0" : {
+ "static_CALL_ZeroVCallSuicide" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x020000",
@@ -17,15 +17,13 @@
},
"network" : ["Metropolis"],
"result" : {
- "1000000000000000000000000000000000000118" : {
- "storage" : {
- "0x01" : "0x00"
- }
+ "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0"
},
"b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x00" : "0x021f34",
- "0x02" : "0xe3df"
+ "storage" : {
+ "0x00" : "0x00",
+ "0x64" : "0x00"
}
}
}
@@ -43,30 +41,30 @@
"b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0",
"nonce" : "0",
- "code" : "check gas spent on suicide known contract on EIP150",
- "code" : "{ [[0]] (GAS) (STATICCALL 60000 0x1000000000000000000000000000000000000118 0 0 0 0) [[2]] (GAS) }",
+ "code" : "{ (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }",
"storage": {
}
},
- "1000000000000000000000000000000000000118" : {
+ "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0",
"nonce" : "0",
- "code" : "{ [[1]] 12 }",
+ "code" : "{ (SELFDESTRUCT 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b) }",
"storage": {
}
}
+
},
"transaction" : {
"data" : [
""
],
"gasLimit" : [
- "160062"
+ "600000"
],
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "to" : "094f5374fce5edbc8e2a8697c15331677e6ebf0b",
"value" : [
"0"
]
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_ContractSuicideDuringInitFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInitFiller.json
index 600c3f2dd..0072d5288 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_ContractSuicideDuringInitFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInitFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["EIP158"],
+ "network" : ["Metropolis"],
"result" : {
"6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
"shouldnotexist" : "1"
@@ -23,26 +23,7 @@
"c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0",
"storage" : {
- "0x01" : "12"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP150"],
- "result" : {
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "shouldnotexist" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "storage" : {
- "0x01" : "12"
+ "0x01" : "0x00"
}
}
}
@@ -60,16 +41,40 @@
"c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0",
"code" : "This indicates that a call from transaction was initiated",
- "code" : "{[[1]]12}",
+ "code" : "{ (MSTORE 1 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "11",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "11",
+ "code" : "{ (SSTORE 1 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "e94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "11",
+ "code" : "{ (CALL 100 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
}
},
"transaction" : {
- "data" : "{(STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) (MSTORE 0 0x64600c6000556000526005601bf3) (SELFDESTRUCT 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b)}",
+ "data" : "{(STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (MSTORE 0 0x64600c6000556000526005601bf3) (SELFDESTRUCT 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b)}",
"data" : [
- "0x6000600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60f1506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff"
+ "0x600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff",
+"0x600060006000600073b94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff",
+"0x600060006000600073d94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff",
+"0x600060006000600073e94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff"
],
"gasLimit" : [
"150000"
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json
index 97e900424..aaf8deca4 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInit_ThenStoreThenReturnFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["EIP158"],
+ "network" : ["Metropolis"],
"result" : {
"6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
"shouldnotexist" : "1"
@@ -23,7 +23,7 @@
"c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0",
"storage" : {
- "0x01" : "12"
+ "0x01" : "0"
}
},
"d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
@@ -31,28 +31,15 @@
"storage" : {
"0x01" : "0"
}
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP150"],
- "result" : {
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "shouldnotexist" : "1"
},
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0",
"storage" : {
- "0x01" : "12"
+ "0x01" : "0"
}
},
- "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10",
+ "194f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0",
"storage" : {
"0x01" : "0"
}
@@ -84,12 +71,29 @@
"nonce" : "0",
"storage" : {
}
+ },
+ "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0",
+ "code" : "This indicates that a call from transaction was initiated",
+ "code" : "{ (MSTORE 1 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "194f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0",
+ "code" : "This indicates that a call from transaction was initiated",
+ "code" : "{(MSTORE 1 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
}
},
"transaction" : {
- "data" : "{ (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) (MSTORE 0 0x64600c6000556000526005601bf3) (SELFDESTRUCT 0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b) (STATICCALL 60000 0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[0]]11 (RETURN 18 14)}",
+ "data" : "{ (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (MSTORE 0 0x64600c6000556000526005601bf3) (SELFDESTRUCT 0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b) (STATICCALL 60000 0xd94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[0]]11 (RETURN 18 14)}",
"data" : [
- "0x6000600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60f1506d64600c6000556000526005601bf360005273d94f5374fce5edbc8e2a8697c15331677e6ebf0bff6000600060006000600073d94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60f150600b600055600e6012f3"
+ "0x600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273d94f5374fce5edbc8e2a8697c15331677e6ebf0bff600060006000600073d94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa50600b600055600e6012f3",
+"0x600060006000600073094f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273d94f5374fce5edbc8e2a8697c15331677e6ebf0bff600060006000600073194f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa50600b600055600e6012f3"
],
"gasLimit" : [
"600000"
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_ContractSuicideDuringInit_WithValueFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValueFiller.json
index fb8609699..a2064b885 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CREATE_ContractSuicideDuringInit_WithValueFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_ContractSuicideDuringInit_WithValueFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["EIP158"],
+ "network" : ["Metropolis"],
"result" : {
"6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
"shouldnotexist" : "1"
@@ -23,26 +23,7 @@
"c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "10",
"storage" : {
- "0x01" : "12"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead", "EIP150"],
- "result" : {
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f" : {
- "shouldnotexist" : "1"
- },
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "10",
- "storage" : {
- "0x01" : "12"
+ "0x01" : "0"
}
}
}
@@ -64,12 +45,21 @@
"nonce" : "0",
"storage" : {
}
+ },
+ "d94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0",
+ "code" : "This indicates that a call from transaction was initiated",
+ "code" : "{ (MSTORE 1 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
}
},
"transaction" : {
- "data" : "{(STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) (MSTORE 0 0x64600c6000556000526005601bf3) (SELFDESTRUCT 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b)}",
+ "data" : "{(STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) (MSTORE 0 0x64600c6000556000526005601bf3) (SELFDESTRUCT 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b)}",
"data" : [
- "0x6000600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60f1506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff"
+ "0x600060006000600073c94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff",
+"0x600060006000600073d94f5374fce5edbc8e2a8697c15331677e6ebf0b61ea60fa506d64600c6000556000526005601bf360005273c94f5374fce5edbc8e2a8697c15331677e6ebf0bff"
],
"gasLimit" : [
"150000"
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_EmptyContractAndCallIt_0weiFiller.json
index 1405535ea..23f5e48a8 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_EmptyContractAndCallIt_0weiFiller.json
@@ -1,5 +1,5 @@
{
- "static_ZeroValue_CALL2" : {
+ "static_CREATE_EmptyContractAndCallIt_0wei" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x020000",
@@ -17,15 +17,17 @@
},
"network" : ["Metropolis"],
"result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "shouldnotexist" : "1"
- },
"b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"storage" : {
- "0x00" : "0x08d5b6",
- "0x01" : "0x01",
- "0x64" : "0x0836a0"
+ "0x00" : "0x08d5b6",
+ "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
+ "0x02" : "0x07bc62",
+ "0x03" : "0x01",
+ "0x64" : "0x071c84"
}
+ },
+ "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
+ "nonce" : "1"
}
}
}
@@ -42,8 +44,7 @@
"b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0",
"nonce" : "0",
- "comment" : " Zero-value call to nonexistent account: should (i) charge only 700 gas, (ii) not create an account",
- "code" : "{ [[0]](GAS) [[1]] (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[100]] (GAS) }",
+ "code" : "{ [[0]](GAS) [[1]] (CREATE 0 0 32) [[2]](GAS) [[3]] (STATICCALL 60000 (SLOAD 1) 0 0 0 0) [[100]] (GAS) }",
"storage": {
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToEmpty2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json
index b1c983b02..d67186867 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_ToEmpty2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CREATE_EmptyContractWithStorageAndCallIt_0weiFiller.json
@@ -1,5 +1,5 @@
{
- "static_ZeroValue_CALL_ToEmpty2" : {
+ "static_CREATE_EmptyContractWithStorageAndCallIt_0wei" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x020000",
@@ -17,15 +17,22 @@
},
"network" : ["Metropolis"],
"result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "shouldnotexist" : "1"
- },
"b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"storage" : {
"0x00" : "0x08d5b6",
- "0x01" : "0x01",
- "0x64" : "0x0836a0"
+ "0x01" : "0xf1ecf98489fa9ed60a664fc4998db699cfa39d40",
+ "0x02" : "0x071d30",
+ "0x03" : "0x01",
+ "0x64" : "0x067d52"
}
+ },
+ "f1ecf98489fa9ed60a664fc4998db699cfa39d40" : {
+ "nonce" : "1"
+ },
+ "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "12"
+ }
}
}
}
@@ -42,14 +49,14 @@
"b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0",
"nonce" : "0",
- "comment" : " Zero-value call to empty account: should (i) charge only 700 gas, (ii) delete an account",
- "code" : "{ [[0]](GAS) [[1]] (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[100]] (GAS) }",
+ "code" : "{ [[0]]12 (STATICCALL 60000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0)}",
+ "code" : "{ [[0]](GAS) (MSTORE 0 0x600c6000556000600060006000600073c94f5374fce5edbc8e2a8697c1533167) (MSTORE 32 0x7e6ebf0b61ea60f1000000000000000000000000000000000000000000000000) [[1]] (CREATE 0 0 64) [[2]] (GAS) [[3]] (STATICCALL 60000 (SLOAD 1) 0 0 0 0) [[100]] (GAS) }",
"storage": {
}
},
"c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "",
- "code" : "",
+ "balance" : "1000000000000",
+ "code" : "{[[1]]12}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallContractToCreateContractAndCallItOOGFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractAndCallItOOGFiller.json
index c16b00166..89ae8250b 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallContractToCreateContractAndCallItOOGFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractAndCallItOOGFiller.json
@@ -12,41 +12,16 @@
{
"indexes" : {
"data" : -1,
- "gas" : -1,
+ "gas" : 0,
"value" : -1
},
- "network" : ["Frontier","Homestead"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"nonce" : "1",
"storage" : {
- "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
- },
- "d2571607e241ecf590ed94b12d87c94babe36db6" : {
- "balance" : "1",
- "nonce" : "0",
- "storage" : {
- "0x" : "0x0c"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP158"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "1",
- "storage" : {
- "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6"
+ "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6",
+ "0x02" : "0x03"
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
@@ -61,29 +36,26 @@
}
}
},
- {
+ {
"indexes" : {
"data" : -1,
- "gas" : -1,
+ "gas" : 1,
"value" : -1
},
- "network" : ["EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "1",
+ "nonce" : "0",
"storage" : {
- "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6"
+ "0x" : "0x00",
+ "0x02" : "0x00"
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"nonce" : "1"
},
"d2571607e241ecf590ed94b12d87c94babe36db6" : {
- "balance" : "1",
- "nonce" : "0",
- "storage" : {
- "0x" : "0x0c"
- }
+ "shouldnotexist" : "1"
}
}
}
@@ -92,7 +64,7 @@
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"//" : "{[[0]] 12 (MSTORE 32 0x602060406000f0)(RETURN 57 7)}",
"balance" : "1000",
- "code" : "{(MSTORE 0 0x600c60005566602060406000f060205260076039f3)[[0]](CREATE 1 11 21)(STATICCALL 1000 (SLOAD 0) 0 0 0 0 0)}",
+ "code" : "{(MSTORE 0 0x600c60005566602060406000f060205260076039f3)[[0]](CREATE 1 11 21) (STATICCALL 1000 (SLOAD 0) 0 0 0 0) [[ 2 ]] 3 }",
"nonce" : "0",
"storage" : {
}
@@ -110,7 +82,7 @@
"0x00"
],
"gasLimit" : [
- "203000"
+ "203000", "100000"
],
"gasPrice" : "1",
"nonce" : "0",
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractOOGBonusGasFiller.json
index 5e62952e4..c93ed5102 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractOOGBonusGasFiller.json
@@ -1,8 +1,8 @@
{
- "static_CallRecursiveBomb2" : {
+ "static_CallContractToCreateContractOOGBonusGas" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
+ "currentDifficulty" : "0x020000",
"currentGasLimit" : "100000000",
"currentNumber" : "1",
"currentTimestamp" : "1000",
@@ -12,31 +12,26 @@
{
"indexes" : {
"data" : -1,
- "gas" : -1,
+ "gas" : 0,
"value" : -1
},
- "network" : ["Frontier", "Homestead"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "nonce" : "1",
"storage" : {
- "0x00" : "0x0400",
- "0x01" : "0x01"
+ "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6"
}
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ },
+ "d2571607e241ecf590ed94b12d87c94babe36db6" : {
+ "balance" : "1",
+ "nonce" : "1",
"storage" : {
- "0x00" : "0xde",
- "0x01" : "0x01"
+ "0x" : "0x0c",
+ "0x01" : "0x00"
}
}
}
@@ -44,14 +39,15 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "20000000",
- "code" : "{ [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (STATICCALL (- (GAS) 15000) (ADDRESS) 0 0 0 0 0) }",
+ "//" : "{[[0]] 12 (MSTORE 32 0x602060406000f0)(RETURN 57 7)}",
+ "balance" : "112",
+ "code" : "{ (MSTORE 0 0x600c60005566602060406000f060205260076039f3) [[0]](CREATE 1 11 21) [[ 1 ]] (STATICCALL 0 (SLOAD 0) 0 0 0 0)}",
"nonce" : "0",
"storage" : {
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
+ "balance" : "100000000",
"code" : "",
"nonce" : "0",
"storage" : {
@@ -60,17 +56,17 @@
},
"transaction" : {
"data" : [
- ""
+ "0x00"
],
"gasLimit" : [
- "20622099"
+ "20000000", "80000"
],
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
"value" : [
- "100000"
+ "0"
]
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallContractToCreateContractOOGFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractOOGFiller.json
index f3dfa7a71..e1ef070a9 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallContractToCreateContractOOGFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractOOGFiller.json
@@ -13,12 +13,15 @@
"indexes" : {
"data" : -1,
"gas" : -1,
- "value" : -1
+ "value" : 0
},
- "network" : ["Frontier","Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "0"
+ "nonce" : "0",
+ "storage" : {
+ "0x00" : "0x00"
+ }
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"nonce" : "1"
@@ -30,7 +33,7 @@
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"//" : "{[[0]] 12 (MSTORE 32 0x602060406000f0)(RETURN 57 7)}",
"balance" : "0",
- "code" : "{(MSTORE 0 0x600c60005566602060406000f060205260076039f3)[[0]](CREATE 1 11 21)(STATICCALL 0 (SLOAD 0) 0 0 0 0 0)}",
+ "code" : "{(MSTORE 0 0x600c60005566602060406000f060205260076039f3) [[0]](CREATE 1 11 21) (STATICCALL 0 (SLOAD 0) 0 0 0 0)}",
"nonce" : "0",
"storage" : {
}
@@ -55,7 +58,7 @@
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
"value" : [
- "0"
+ "0", "1"
]
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json
index b6911f4d9..b7cf01373 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb1Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallContractToCreateContractWhichWouldCreateContractIfCalledFiller.json
@@ -1,8 +1,8 @@
{
- "static_CallRecursiveBomb1" : {
+ "static_CallContractToCreateContractWhichWouldCreateContractIfCalled" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
+ "currentDifficulty" : "0x020000",
"currentGasLimit" : "100000000",
"currentNumber" : "1",
"currentTimestamp" : "1000",
@@ -15,28 +15,26 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "nonce" : "1",
"storage" : {
- "0x00" : "0x0401",
- "0x01" : "0x01"
+ "0x" : "0xd2571607e241ecf590ed94b12d87c94babe36db6",
+ "0x01" : "0x00"
}
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ },
+ "62c01474f089b07dae603491675dc5b5748f7049" : {
+ "shouldnotexist" : "1"
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ },
+ "d2571607e241ecf590ed94b12d87c94babe36db6" : {
+ "balance" : "1",
+ "nonce" : "1",
"storage" : {
- "0x00" : "0xde",
- "0x01" : "0x01"
+ "0x" : "0x0c"
}
}
}
@@ -44,14 +42,15 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "20000000",
- "code" : "{ [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (STATICCALL (- (GAS) 15000) (ADDRESS) 0 0 0 0 0) }",
+ "//" : "{[[0]] 12 (MSTORE 32 0x602060406000f0)(RETURN 57 7)}",
+ "balance" : "1000",
+ "code" : "{(MSTORE 0 0x600c60005566602060406000f060205260076039f3) [[ 0 ]](CREATE 1 11 21) [[ 1 ]] (STATICCALL 150000 (SLOAD 0) 0 0 0 0)}",
"nonce" : "0",
"storage" : {
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000",
+ "balance" : "100000000",
"code" : "",
"nonce" : "0",
"storage" : {
@@ -60,17 +59,17 @@
},
"transaction" : {
"data" : [
- ""
+ "0x00"
],
"gasLimit" : [
- "20622100"
+ "20000000"
],
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
"value" : [
- "100000"
+ "0"
]
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_gas3000Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0Filler.json
index c34a26e1d..e885ca0cf 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_gas3000Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0Filler.json
@@ -1,5 +1,5 @@
{
- "static_CallEcrecover0_gas3000" : {
+ "static_CallEcrecover0" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -30,7 +30,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 3000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
+ "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
"nonce" : "0",
"storage" : {
}
@@ -48,7 +48,7 @@
""
],
"gasLimit" : [
- "365224"
+ "3652240"
],
"gasPrice" : "1",
"nonce" : "0",
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallToSuicideNoStorageFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_0inputFiller.json
index 99b7ec811..b1d9fb092 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallToSuicideNoStorageFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_0inputFiller.json
@@ -1,5 +1,5 @@
{
- "static_refund_CallToSuicideNoStorage" : {
+ "static_CallEcrecover0_0input" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -11,72 +11,63 @@
"expect" : [
{
"indexes" : {
- "data" : 0,
+ "data" : [0,1,4,5,6,7,8],
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "2000000000000000010",
"storage" : {
- "0x" : "0x01",
- "0x01" : "0x01"
+ "0x02" : "0x01"
}
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "20663"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "99979327",
- "nonce" : "1"
}
}
},
{
"indexes" : {
- "data" : 1,
+ "data" : 2,
"gas" : -1,
"value" : -1
},
- "network" : ["EIP150", "EIP158"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "2000000000000000010",
"storage" : {
- "0x" : "0x01",
- "0x01" : "0x01"
+ "0x02" : "0x01",
+ "0x00" : "0x8209944e898f69a7bd10a23c839d341e935fd5ca"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : 3,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x02" : "0x01",
+ "0x00" : "0x4300a157335cb7c9fc9423e011d7dd51090d093f"
}
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "23461"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "99976529",
- "nonce" : "1"
}
}
}
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL (CALLDATALOAD 0) 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 0 )}",
+ "balance" : "20000000",
+ "code" : "{ [[ 2 ]] (STATICCALL 300000 (CALLDATALOAD 0) 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) }",
"nonce" : "0",
"storage" : {
- "0x01" : "0x01"
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "100000000",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- },
- "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
"balance" : "1000000000000000000",
- "code" : "{ (SELFDESTRUCT 0x095e7baea6a6c7c4c2dfeb977efac326af552d87) }",
+ "code" : "",
"nonce" : "0",
"storage" : {
}
@@ -84,17 +75,25 @@
},
"transaction" : {
"data" : [
- "0x00000000000000000000000000000000000000000000000000000000000001f4", "0x0000000000000000000000000000000000000000000000000000000000010000"
+ "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "0x0000000000000000000000000000000000000000000000000000000000000001",
+ "0x0000000000000000000000000000000000000000000000000000000000000002",
+ "0x0000000000000000000000000000000000000000000000000000000000000003",
+ "0x0000000000000000000000000000000000000000000000000000000000000004",
+ "0x0000000000000000000000000000000000000000000000000000000000000005",
+ "0x0000000000000000000000000000000000000000000000000000000000000006",
+ "0x0000000000000000000000000000000000000000000000000000000000000007",
+ "0x0000000000000000000000000000000000000000000000000000000000000008"
],
"gasLimit" : [
- "10000000"
+ "3652240"
],
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
"value" : [
- "10"
+ "100000"
]
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_Gas2999Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_Gas2999Filler.json
index 1a9492456..1b4674c5f 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_Gas2999Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_Gas2999Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -28,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 2999 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
+ "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 2999 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_NoGasFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_NoGasFiller.json
new file mode 100644
index 000000000..0c87d1d4d
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_NoGasFiller.json
@@ -0,0 +1,58 @@
+{
+ "static_CallEcrecover0_NoGas" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
+ "balance" : "37063"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "20000000",
+ "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 0 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "365224"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "value" : [
+ "100000"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_completeReturnValueFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_completeReturnValueFiller.json
index 77b284ff3..692c224b5 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_completeReturnValueFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_completeReturnValueFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 3000 1 0 0 128 128 32) [[ 0 ]] (MLOAD 128) }",
+ "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 13000 1 0 128 128 32) [[ 0 ]] (MLOAD 128) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_gas3000Filler.json
index ccc1d53f6..32bdc3bf4 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_gas3000Filler.json
@@ -1,5 +1,5 @@
{
- "static_CallEcrecover0" : {
+ "static_CallEcrecover0_gas3000" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -30,7 +30,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
+ "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 3000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
"nonce" : "0",
"storage" : {
}
@@ -48,7 +48,7 @@
""
],
"gasLimit" : [
- "3652240"
+ "365224"
],
"gasPrice" : "1",
"nonce" : "0",
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_overlappingInputOutputFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_overlappingInputOutputFiller.json
index b8a55364f..94910afb5 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover0_overlappingInputOutputFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover0_overlappingInputOutputFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -30,7 +30,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 0 128 64 32) [[ 0 ]] (MOD (MLOAD 64) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
+ "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 64 32) [[ 0 ]] (MOD (MLOAD 64) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover1Filler.json
index 57c9c4159..756e61b10 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover1Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover1Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -28,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 1) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 100000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
+ "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 1) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 100000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover2Filler.json
index 69777a439..fc5fc94da 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover2Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -28,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 33 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 65 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 100000 1 0 0 97 97 32) [[ 0 ]] (MOD (MLOAD 97) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
+ "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 33 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 65 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 100000 1 0 97 97 32) [[ 0 ]] (MOD (MLOAD 97) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover3Filler.json
index 4403fa29d..0c85b6732 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover3Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover3Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x2f380a2dea7e778d81affc2443403b8fe4644db442ae4862ff5bb3732829cdb9) (MSTORE 32 27) (MSTORE 64 0x6b65ccb0558806e9b097f27a396d08f964e37b8b7af6ceeb516ff86739fbea0a) (MSTORE 96 0x37cbc8d883e129a4b1ef9d5f1df53c4f21a3ef147cf2a50a4ede0eb06ce092d4) [[ 2 ]] (STATICCALL 100000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
+ "code" : "{ (MSTORE 0 0x2f380a2dea7e778d81affc2443403b8fe4644db442ae4862ff5bb3732829cdb9) (MSTORE 32 27) (MSTORE 64 0x6b65ccb0558806e9b097f27a396d08f964e37b8b7af6ceeb516ff86739fbea0a) (MSTORE 96 0x37cbc8d883e129a4b1ef9d5f1df53c4f21a3ef147cf2a50a4ede0eb06ce092d4) [[ 2 ]] (STATICCALL 100000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover80Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover80Filler.json
index d7945388e..635ff2597 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecover80Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecover80Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -30,7 +30,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x00c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x00b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0x00b940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
+ "code" : "{ (MSTORE 0 0x00c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x00b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0x00b940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverCheckLengthFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverCheckLengthFiller.json
index 93a97a505..e82baa040 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverCheckLengthFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverCheckLengthFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -30,7 +30,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 128 0x1122334455667788990011223344556677889900112233445566778899001122) (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 0 128 128 32) [[ 0 ]] (MLOAD 128) [[ 1 ]] (MSIZE) }",
+ "code" : "{ (MSTORE 128 0x1122334455667788990011223344556677889900112233445566778899001122) (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MLOAD 128) [[ 1 ]] (MSIZE) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverCheckLengthWrongVFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverCheckLengthWrongVFiller.json
index 0340cdc8b..995608b96 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverCheckLengthWrongVFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverCheckLengthWrongVFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -30,7 +30,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 128 0x1122334455667788990011223344556677889900112233445566778899001122) (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 29) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 0 128 128 32) [[ 0 ]] (MLOAD 128) [[ 1 ]] (MSIZE) }",
+ "code" : "{ (MSTORE 128 0x1122334455667788990011223344556677889900112233445566778899001122) (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 29) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MLOAD 128) [[ 1 ]] (MSIZE) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverH_prefixed0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverH_prefixed0Filler.json
index adaeb1c88..9452470c7 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverH_prefixed0Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverH_prefixed0Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -30,7 +30,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x00c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
+ "code" : "{ (MSTORE 0 0x00c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverR_prefixed0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverR_prefixed0Filler.json
index 1967fa87a..6d8520950 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverR_prefixed0Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverR_prefixed0Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -30,7 +30,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x00b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
+ "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x00b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverS_prefixed0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverS_prefixed0Filler.json
index 7c133de91..6de51cb69 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverS_prefixed0Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverS_prefixed0Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -30,7 +30,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0x00b940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
+ "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 28) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0x00b940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverV_prefixed0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverV_prefixed0Filler.json
index b9c9d5719..3bfbe4df4 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallEcrecoverV_prefixed0Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallEcrecoverV_prefixed0Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -30,7 +30,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 0x001c) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
+ "code" : "{ (MSTORE 0 0x18c547e4f7b0f325ad1e56f57e26c745b09a3e503d86e00e5255ff7f715d3d1c) (MSTORE 32 0x001c) (MSTORE 64 0x73b1693892219d736caba55bdb67216e485557ea6b6af75f37096c9aa6a5a75f) (MSTORE 96 0xeeb940b1d03b21e36b0e47e79769f095fe2ab855bd91e3a38756b7d75a9c4549) [[ 2 ]] (STATICCALL 300000 1 0 128 128 32) [[ 0 ]] (MOD (MLOAD 128) (EXP 2 160)) [[ 1 ]] (EQ (ORIGIN) (SLOAD 0)) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallGoesOOGOnSecondLevel2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallGoesOOGOnSecondLevel2Filler.json
index 64fb1bd1f..45f1a5513 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallGoesOOGOnSecondLevel2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallGoesOOGOnSecondLevel2Filler.json
@@ -15,40 +15,12 @@
"gas" : -1,
"value" : -1
},
- "network" : ["EIP150", "EIP158"],
+ "network" : ["Metropolis"],
"result" : {
- "1000000000000000000000000000000000000113" : {
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000114" : {
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000113" : {
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000114" : {
- "storage" : {
- }
- },
"b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x00"
}
}
}
@@ -67,28 +39,36 @@
"balance" : "0",
"nonce" : "0",
"code" : "OOG Call transaction has less gas then in example above",
- "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000113 0 0 0 0 0)) } ",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 600000 0x1000000000000000000000000000000000000113 0 32 0 0) [[ 1 ]] (GAS) } ",
"storage": {
}
},
"1000000000000000000000000000000000000113" : {
"balance" : "0",
"nonce" : "0",
- "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000114 0 0 0 0 0)) } ",
+ "code" : "{ (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 (CALLDATALOAD 0) 0 0 0 0)) } ",
"storage": {
}
},
"1000000000000000000000000000000000000114" : {
"balance" : "0",
"nonce" : "0",
- "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (GAS)) (SSTORE 10 (GAS)) }",
+ "code" : "{ (SSTORE 1 1) }",
+ "storage": {
+ }
+ },
+ "2000000000000000000000000000000000000114" : {
+ "balance" : "0",
+ "nonce" : "0",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"storage": {
}
}
},
"transaction" : {
"data" : [
- ""
+ "0x0000000000000000000000001000000000000000000000000000000000000114",
+ "0x0000000000000000000000002000000000000000000000000000000000000114"
],
"gasLimit" : [
"160000"
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallGoesOOGOnSecondLevelFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallGoesOOGOnSecondLevelFiller.json
index c1c4080a5..249b2f774 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallGoesOOGOnSecondLevelFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallGoesOOGOnSecondLevelFiller.json
@@ -15,29 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["EIP150", "EIP158"],
- "result" : {
- "1000000000000000000000000000000000000110" : {
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000111" : {
- "storage" : {
- }
- },
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
+ "network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000110" : {
"storage" : {
@@ -67,7 +45,7 @@
"balance" : "0",
"nonce" : "0",
"code" : "OOG Call because call goes OOG on second level",
- "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000110 0 0 0 0 0)) } ",
+ "code" : "{ (SSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000110 0 0 0 0)) [[ 10 ]] (GAS) } ",
"storage": {
}
},
@@ -75,14 +53,14 @@
"balance" : "0",
"nonce" : "0",
"code" : "Inner CaLL goes OOG on EIP150",
- "code" : "{ (SSTORE 8 (GAS)) (SSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000111 0 0 0 0 0)) } ",
+ "code" : "{ (MSTORE 8 (GAS)) (MSTORE 9 (STATICCALL 600000 0x1000000000000000000000000000000000000111 0 0 0 0)) } ",
"storage": {
}
},
"1000000000000000000000000000000000000111" : {
"balance" : "0",
"nonce" : "0",
- "code" : "{ (SSTORE 8 (GAS)) (CREATE 0 0 0) (CREATE 0 0 0) (SSTORE 9 (GAS)) (SSTORE 10 (GAS)) }",
+ "code" : "{ (CREATE 0 0 0) (CREATE 0 0 0) }",
"storage": {
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentitiy_1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentitiy_1Filler.json
index 18932500e..c23e5a748 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentitiy_1Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentitiy_1Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ [[ 2 ]] (STATICCALL 500 4 0 0 0 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ [[ 2 ]] (STATICCALL 500 4 0 0 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_1_nonzeroValueFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_1_nonzeroValueFiller.json
index a78675055..4ff0c38b3 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_1_nonzeroValueFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_1_nonzeroValueFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"0000000000000000000000000000000000000004" : {
"balance" : "19"
@@ -32,7 +32,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "200000000",
- "code" : "{ [[ 2 ]] (STATICCALL 200000 4 0x13 0 0 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ [[ 2 ]] (STATICCALL 200000 4 0 0 0 32) (CALL 50000 4 0x13 0 0 0 0) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_2Filler.json
index 4cacd8395..155d1d6f9 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_2Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 4 0 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 4 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_3Filler.json
index 2a955f097..edff6eb9e 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_3Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_3Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 4 0 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 4 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_4Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4Filler.json
index 9988f244a..cf323b1fd 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_4Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 100 4 0 0 32 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 100 4 0 32 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_4_gas17Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4_gas17Filler.json
index cba3e65a7..0eaa6ba6c 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_4_gas17Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4_gas17Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 17 4 0 0 32 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 17 4 0 32 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_4_gas18Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4_gas18Filler.json
index ef8f874e1..da5a28d01 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_4_gas18Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_4_gas18Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 18 4 0 0 32 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 18 4 0 32 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_5Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_5Filler.json
index 35c6e6aa4..be5498302 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallIdentity_5Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallIdentity_5Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -28,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 600 4 0 0 1000000 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 600 4 0 1000000 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallLoseGasOOGFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallLoseGasOOGFiller.json
index 75955185e..65dbba21e 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallLoseGasOOGFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallLoseGasOOGFiller.json
@@ -11,7 +11,7 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier","Homestead", "EIP158", "EIP150" ],
+ "network" : ["Metropolis" ],
"result" : {
"bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"storage" : {
@@ -39,7 +39,7 @@
},
"bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "1024",
- "code" : "{ [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL (ADD 1(MUL @@0 100000)) 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) }",
+ "code" : "{ [[ 0 ]] (ADD @@0 1) [[ 1 ]] (STATICCALL (ADD 1(MUL @@0 100000)) 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[ 2 ]] (ADD 1(MUL @@0 1000)) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorMemOOGAndInsufficientBalanceFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb0Filler.json
index 5152cc62f..1a816d3ce 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorMemOOGAndInsufficientBalanceFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb0Filler.json
@@ -1,41 +1,45 @@
{
- "static_CallToNameRegistratorMemOOGAndInsufficientBalance" : {
+ "static_CallRecursiveBomb0" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
+ "currentGasLimit" : "10000000000",
"currentNumber" : "1",
"currentTimestamp" : "1000",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
+ {
"indexes" : {
"data" : -1,
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "0",
"storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x025406f836"
}
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
}
}
}
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 0xffffffffff 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 0xffffffffffff 64 0) }",
+ "balance" : "2000000000",
+ "code" : "{ [[ 0 ]] (STATICCALL 100000000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : "0x6000355415600957005b60203560003555",
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 11000) (ADDRESS) 0 0 0 0) } ",
"nonce" : "0",
"storage" : {
}
@@ -53,7 +57,7 @@
""
],
"gasLimit" : [
- "300000"
+ "10000000000"
],
"gasPrice" : "1",
"nonce" : "0",
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorNotMuchMemory0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json
index 42ef2c20f..dd9702f52 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorNotMuchMemory0Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb0_OOG_atMaxCallDepthFiller.json
@@ -1,41 +1,41 @@
{
- "static_CallToNameRegistratorNotMuchMemory0" : {
+ "static_CallRecursiveBomb0_OOG_atMaxCallDepth" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
+ "currentGasLimit" : "100000000000",
"currentNumber" : "1",
"currentTimestamp" : "1000",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
+ {
"indexes" : {
"data" : -1,
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "0",
+ "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
+ "0x01" : "0xb8cf2d1b"
}
}
}
}
],
"pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 500 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 987654 0) }",
+ "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "20000000",
+ "code" : "{ (CALLCODE (GAS) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 0) [[ 1 ]] (GAS) } ",
"nonce" : "0",
"storage" : {
}
},
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : "0x6000355415600957005b60203560003555",
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "20000000",
+ "code" : "{ (MSTORE 0 (+ (SLOAD 0) 1)) (MSTORE 2 (MUL (DIV (MLOAD 0) 0x0402) 0xfffffffffffffffffff)) (STATICCALL (- (GAS) 1024) (ADDRESS) 0 (MUL (DIV (MLOAD 0) 0x0402) 0xfffffffffffffffffff) 0 0) } ",
"nonce" : "0",
"storage" : {
}
@@ -53,12 +53,12 @@
""
],
"gasLimit" : [
- "300000"
+ "100000000000"
],
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "to" : "195e7baea6a6c7c4c2dfeb977efac326af552d87",
"value" : [
"100000"
]
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_CallerFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb1Filler.json
index 1acb969f0..e77f4c6d3 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_CallerFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb1Filler.json
@@ -1,41 +1,42 @@
{
- "static_log1_Caller" : {
+ "static_CallRecursiveBomb1" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
- "currentGasLimit" : "1000000",
+ "currentGasLimit" : "100000000",
"currentNumber" : "1",
"currentTimestamp" : "1000",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
+ {
"indexes" : {
"data" : -1,
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
- "0x" : "0x01"
+ "0x00" : "0x00",
+ "0x01" : "0x09befb"
}
}
}
}
],
"pre" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
+ "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "20000000",
+ "code" : "{ (CALLCODE (GAS) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 0) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE8 0 0xff) (LOG1 0 32 (CALLER)) }",
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "20000000",
+ "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 15000) (ADDRESS) 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
@@ -53,12 +54,12 @@
""
],
"gasLimit" : [
- "210000"
+ "20622100"
],
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "to" : "195e7baea6a6c7c4c2dfeb977efac326af552d87",
"value" : [
"100000"
]
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb2Filler.json
new file mode 100644
index 000000000..317a6e4e9
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb2Filler.json
@@ -0,0 +1,68 @@
+{
+ "static_CallRecursiveBomb2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "100000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x0970da"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "20000000",
+ "code" : "{ [[ 0 ]] (CALLCODE (GAS) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 0) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "20000000",
+ "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 15000) (ADDRESS) 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "20622099"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "195e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "value" : [
+ "100000"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb3Filler.json
index 4c058cf4a..5cf6ed6df 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBomb3Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBomb3Filler.json
@@ -9,41 +9,34 @@
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- }
- }
- }
- },
{
"indexes" : {
"data" : -1,
"gas" : -1,
"value" : -1
},
- "network" : ["EIP150", "EIP158"],
+ "network" : ["Metropolis"],
"result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
- "0x00" : "0x08",
- "0x01" : "0x01"
+ "0x00" : "0x01",
+ "0x01" : "0x016b53"
}
}
}
}
],
"pre" : {
+ "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "20000000",
+ "code" : "{ [[ 0 ]] (CALLCODE ( - (GAS) 100000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 0) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (STATICCALL (- (GAS) 224) (ADDRESS) 0 0 0 0 0) }",
+ "code" : "{ (MSTORE 0 (+ (SLOAD 0) 1)) (STATICCALL (- (GAS) 224) (ADDRESS) 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
@@ -66,7 +59,7 @@
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "to" : "195e7baea6a6c7c4c2dfeb977efac326af552d87",
"value" : [
"100000"
]
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorAddressTooBigRightFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombLog2Filler.json
index 6dd4fe67e..336151a3d 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorAddressTooBigRightFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombLog2Filler.json
@@ -1,42 +1,45 @@
{
- "static_CallToNameRegistratorAddressTooBigRight" : {
+ "static_CallRecursiveBombLog2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
+ "currentGasLimit" : "10000000000",
"currentNumber" : "1",
"currentTimestamp" : "1000",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
+ {
"indexes" : {
"data" : -1,
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "0",
"storage" : {
- "0x" : "0x01"
+ "0x00" : "0x00",
+ "0x01" : "0x09501aaf"
}
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
}
}
}
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 1000 0x945304eb96065b2a98b57a48a06ae28d285a71b5aa 23 0 64 64 0) }",
+ "balance" : "20000000",
+ "code" : "{ [[ 0 ]] (STATICCALL ( - (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : "0x6000355415600957005b60203560003555",
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 0 (GAS)) (LOG0 0 32) (STATICCALL (- (GAS) 25000) (ADDRESS) 0 0 0 0) } ",
"nonce" : "0",
"storage" : {
}
@@ -54,7 +57,7 @@
""
],
"gasLimit" : [
- "300000"
+ "10000000000"
],
"gasPrice" : "1",
"nonce" : "0",
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorAddressTooBigLeftFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombLogFiller.json
index e46c436e3..65b1ee0ac 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistratorAddressTooBigLeftFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombLogFiller.json
@@ -1,25 +1,26 @@
{
- "static_CallToNameRegistratorAddressTooBigLeft" : {
+ "static_CallRecursiveBombLog" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
- "currentGasLimit" : "10000000",
+ "currentGasLimit" : "10000000000",
"currentNumber" : "1",
"currentTimestamp" : "1000",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
+ {
"indexes" : {
"data" : -1,
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "nonce" : "0",
"storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x09501aaf"
}
}
}
@@ -27,15 +28,15 @@
],
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 1000 0xaa945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 64 0) }",
+ "balance" : "20000000",
+ "code" : "{ [[ 0 ]] (STATICCALL (- (GAS) 100000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : "0x6000355415600957005b60203560003555",
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (LOG0 0 32) (STATICCALL (- (GAS) 25000) (ADDRESS) 0 0 0 0) } ",
"nonce" : "0",
"storage" : {
}
@@ -53,7 +54,7 @@
""
],
"gasLimit" : [
- "300000"
+ "10000000000"
],
"gasPrice" : "1",
"nonce" : "0",
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombPreCall2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombPreCall2Filler.json
index f9363a751..e15456b7c 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRecursiveBombPreCall2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombPreCall2Filler.json
@@ -11,12 +11,12 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier","Homestead", "EIP158", "EIP150" ],
+ "network" : ["Metropolis" ],
"result" : {
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
- "0x00" : "0x0000000000000000000000000000000000000000000000000000000000000400",
- "0x01" : "0x01"
+ "0x00" : "0x01",
+ "0x01" : "0x7ffffffffff3be25"
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
@@ -28,14 +28,14 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "0xfffffffffffffffffffffffffffffff",
- "code" : "{ (STATICCALL 100000 0xbad304eb96065b2a98b57a48a06ae28d285a71b5 23 0 0 0 0) (STATICCALL 0x7ffffffffffffff 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 0 0 0) }",
+ "code" : "{ (STATICCALL 100000 0xbad304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 0 ]] (STATICCALL 0x7ffffffffffffff 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (+ (SLOAD 0) 1) [[ 1 ]] (STATICCALL (- (GAS) 224000) (ADDRESS) 0 0 0 0 0) } ",
+ "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 224000) (ADDRESS) 0 0 0 0) } ",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombPreCallFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombPreCallFiller.json
new file mode 100644
index 000000000..7feb403ff
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRecursiveBombPreCallFiller.json
@@ -0,0 +1,71 @@
+{
+ "static_CallRecursiveBombPreCall" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "0x7fffffffffffffff",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x7ffffffffff3ba25"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "nonce" : "1"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "0xfffffffffffffffffffffffffffffff",
+ "code" : "{ (STATICCALL 100000 0xbad304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 0 ]] (DELEGATECALL 0x7ffffffffffffff 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 0 (+ (MLOAD 0) 1)) (STATICCALL (- (GAS) 224000) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) } ",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xfffffffffffffffffffffffffffffff",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "0x7ffffffffffffff0"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_1Filler.json
index a1ea7b7f1..22f72c80a 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_1Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_1Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ [[ 2 ]] (STATICCALL 600 3 0 0 0 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ [[ 2 ]] (STATICCALL 600 3 0 0 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_2Filler.json
index 2398a9e5e..7e3b092a8 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_2Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 5 0xf34578907f) [[ 2 ]] (STATICCALL 6000 3 0 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 5 0xf34578907f) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3Filler.json
index ca693e8f3..61e727a5e 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_3Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 6000 3 0 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_3_postfixed0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3_postfixed0Filler.json
index 4569fdbf9..6133bc1e8 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_3_postfixed0Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3_postfixed0Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xf34578907f00) [[ 2 ]] (STATICCALL 6000 3 0 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xf34578907f00) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_3_prefixed0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3_prefixed0Filler.json
index 1efae3d19..6b931db16 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_3_prefixed0Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_3_prefixed0Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x00f34578907f) [[ 2 ]] (STATICCALL 6000 3 0 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0x00f34578907f) [[ 2 ]] (STATICCALL 6000 3 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_4Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_4Filler.json
index 43ddff295..4400652c6 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_4Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_4Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 720 3 0 0 32 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 720 3 0 32 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_4_gas719Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_4_gas719Filler.json
index 1b6fe0b68..bec980b2c 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_4_gas719Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_4_gas719Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -28,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 719 3 0 0 32 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 719 3 0 32 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_5Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_5Filler.json
index 00a426ae2..a5c8b97a2 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallRipemd160_5Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallRipemd160_5Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -28,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 6000 3 0 0 1000000 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 6000 3 0 1000000 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_1Filler.json
index fc2835a96..f92f8769f 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_1Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_1Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ [[ 2 ]] (STATICCALL 500 2 0 0 0 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ [[ 2 ]] (STATICCALL 500 2 0 0 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_1_nonzeroValueFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_1_nonzeroValueFiller.json
index 972831d81..1bda1e128 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_1_nonzeroValueFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_1_nonzeroValueFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"0000000000000000000000000000000000000002" : {
"balance" : "19"
@@ -32,7 +32,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "200000000",
- "code" : "{ [[ 2 ]] (STATICCALL 200000 2 0x13 0 0 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ [[ 2 ]] (STATICCALL 200000 2 0 0 0 32) [[ 0 ]] (MLOAD 0) (CALL (GAS) 2 19 0 0 0 0) (CALLCODE (GAS) 2 19 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_2Filler.json
index 537742d43..f90317ee9 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_2Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 5 0xf34578907f) [[ 2 ]] (STATICCALL 500 2 0 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 5 0xf34578907f) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3Filler.json
index bbfeb4f0f..79f02888c 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_3Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 2 0 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xf34578907f) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_3_postfix0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3_postfix0Filler.json
index b6069d283..82e89ac59 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_3_postfix0Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3_postfix0Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xf34578907f00) [[ 2 ]] (STATICCALL 500 2 0 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xf34578907f00) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_3_prefix0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3_prefix0Filler.json
index 0b5f19f68..d50002c45 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_3_prefix0Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_3_prefix0Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0x00f34578907f) [[ 2 ]] (STATICCALL 500 2 0 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0x00f34578907f) [[ 2 ]] (STATICCALL 500 2 0 37 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_4Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_4Filler.json
index dd39770c1..165fe0e72 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_4Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_4Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 100 2 0 0 32 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 100 2 0 32 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_4_gas99Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_4_gas99Filler.json
index 0df5e39b2..eb7b29a22 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_4_gas99Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_4_gas99Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 99 2 0 0 32 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 99 2 0 32 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_5Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_5Filler.json
index 158feec90..51c3d2395 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallSha256_5Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallSha256_5Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -28,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "20000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 600 2 0 0 1000000 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) [[ 2 ]] (STATICCALL 600 2 0 1000000 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistrator0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallToNameRegistrator0Filler.json
index 75e01a3d3..c396fbb8a 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToNameRegistrator0Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallToNameRegistrator0Filler.json
@@ -15,12 +15,12 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"nonce" : "0",
"storage" : {
- "0x" : "0x01"
+ "0x" : "0x00"
}
}
}
@@ -29,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 100000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 64 0) }",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 100000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 64 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToReturn1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CallToReturn1Filler.json
index f621d4283..d80c323d6 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CallToReturn1Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CallToReturn1Filler.json
@@ -15,11 +15,13 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"nonce" : "0",
"storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2a"
}
}
}
@@ -28,14 +30,14 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 0 31 1) [[ 1 ]] @0 }",
+ "code" : "{ [[ 0 ]] (STATICCALL 1000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 31 1) [[ 1 ]] @0 }",
"nonce" : "0",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "23",
- "code" : "0x6001600155602a601f536001601ff3",
+ "code" : "0x602a601f536001601ff3",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CalltoReturn2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_CalltoReturn2Filler.json
index fe07ae803..b6806b6b2 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_CalltoReturn2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_CalltoReturn2Filler.json
@@ -15,12 +15,13 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"nonce" : "0",
"storage" : {
- "0x" : "0x00"
+ "0x" : "0x01",
+ "0x01" : "0x3700ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
}
}
@@ -29,14 +30,14 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 5000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 0 2 ) }",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 5000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 0 2 ) [[ 1 ]] (MLOAD 0) }",
"nonce" : "0",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "23",
- "code" : "0x6001600155603760005360026000f2",
+ "code" : "0x603760005360026000f3",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json
index f1042c54d..3157b29ee 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_ExecuteCallThatAskForeGasThenTrabsactionHasFiller.json
@@ -11,30 +11,15 @@
"expect" : [
{
"indexes" : {
- "data" : -1,
+ "data" : [1,2],
"gas" : -1,
"value" : -1
},
- "network" : ["EIP150", "EIP158"],
+ "network" : ["Metropolis"],
"result" : {
- "1000000000000000000000000000000000000001" : {
+ "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"storage" : {
- "0x01" : "0x0c"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0"
+ "0x01" : "0x00"
}
}
}
@@ -51,14 +36,28 @@
},
"b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0",
- "code" : "{ [[1]] (STATICCALL 600000 0x1000000000000000000000000000000000000001 0 0 0 0 0) }",
+ "code" : "{ [[1]] (STATICCALL 600000 (CALLDATALOAD 0) 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "100000",
- "code" : "{ [[1]] 12 }",
+ "code" : "{ (MSTORE 1 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "2000000000000000000000000000000000000001" : {
+ "balance" : "100000",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "3000000000000000000000000000000000000001" : {
+ "balance" : "100000",
+ "code" : "{ (SSTORE 1 1) }",
"nonce" : "0",
"storage" : {
}
@@ -66,7 +65,9 @@
},
"transaction" : {
"data" : [
- ""
+ "0x0000000000000000000000001000000000000000000000000000000000000001",
+ "0x0000000000000000000000002000000000000000000000000000000000000001",
+ "0x0000000000000000000000003000000000000000000000000000000000000001"
],
"gasLimit" : [
"100000"
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternalCallHittingGasLimit2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_InternalCallHittingGasLimit2Filler.json
index 4f275d409..643cd089b 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternalCallHittingGasLimit2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_InternalCallHittingGasLimit2Filler.json
@@ -15,11 +15,11 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
+ "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"storage" : {
+ "0x01" : "0x00"
}
}
}
@@ -35,14 +35,14 @@
},
"b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0",
- "code" : "{ (STATICCALL 25000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 0) }",
+ "code" : "{ [[ 1 ]] (STATICCALL 25000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
},
"c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0",
- "code" : "{[[1]]55}",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternalCallHittingGasLimitFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_InternalCallHittingGasLimitFiller.json
index f097c8d68..c0a036dc8 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternalCallHittingGasLimitFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_InternalCallHittingGasLimitFiller.json
@@ -15,12 +15,10 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
- "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "storage" : {
- }
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "978900"
}
}
}
@@ -35,14 +33,14 @@
},
"b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "1000000",
- "code" : "{ (STATICCALL 5000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 1 0 0 0 0) }",
+ "code" : "{ (STATICCALL 5000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
},
"c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0",
- "code" : "{[[1]]55}",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternlCallStoreClearsOOGFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_InternlCallStoreClearsOOGFiller.json
index 99233eefc..4c727d85e 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_InternlCallStoreClearsOOGFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_InternlCallStoreClearsOOGFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"0000000000000000000000000000000000000000" : {
"balance" : "0",
@@ -36,7 +36,10 @@
"nonce" : "1"
},
"c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "20"
+ "balance" : "20",
+ "storage" : {
+ "0x01" : "0x00"
+ }
}
}
}
@@ -69,7 +72,7 @@
"c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"//" : "gas = 19 going OOG, gas = 20 fine",
"balance" : "10",
- "code" : "{ (STATICCALL 40000 0 1 0 0 0 0) }",
+ "code" : "{ [[ 1 ]] (STATICCALL 40000 0 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_LoopCallsDepthThenRevert2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevert2Filler.json
index ee9372be4..cda39a74b 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_LoopCallsDepthThenRevert2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevert2Filler.json
@@ -15,11 +15,10 @@
"gas" : -1,
"value" : -1
},
- "network" : ["EIP158"],
+ "network" : ["Metropolis"],
"result" : {
"7db299e0885c85039f56fa504a13dd8ce8a56aa7" : {
- "balance" : "0x03",
- "nonce" : "0x01"
+ "shouldnotexist" : "1"
}
}
}
@@ -36,7 +35,7 @@
"a000000000000000000000000000000000000000" : {
"balance" : "10",
"code" : "create in init code on depth = 1024. account should not be created",
- "code" : "{ (JUMPI 63 (EQ (SLOAD 0) 1023)) [[0]] (+ (SLOAD 0) 1) (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0 0 0) (JUMPI 83 (LT (SLOAD 0) 1050)) (JUMPDEST) (MSTORE 0 0x600060006002f0) (CREATE 3 25 7) (JUMPDEST)}",
+ "code" : "{ (JUMPI 61 (EQ (CALLDATALOAD 0) 1023)) (MSTORE 0 (+ (CALLDATALOAD 0) 1)) (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 32 0 0) (JUMPI 81 (LT (MLOAD 0) 1050)) (JUMPDEST) (MSTORE 0 0x600060006002f0) (CREATE 3 25 7) (JUMPDEST)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_LoopCallsDepthThenRevert3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevert3Filler.json
index 584268c12..0cab4e3d3 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_LoopCallsDepthThenRevert3Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevert3Filler.json
@@ -15,15 +15,13 @@
"gas" : -1,
"value" : -1
},
- "network" : ["EIP158"],
+ "network" : ["Metropolis"],
"result" : {
"7db299e0885c85039f56fa504a13dd8ce8a56aa7" : {
- "balance" : "0x01",
- "nonce" : "0x02"
+ "shouldnotexist" : "1"
},
"cd6807039caffddbd1c28a749ec91bef15f448e5" : {
- "balance" : "0x02",
- "nonce" : "0x01"
+ "shouldnotexist" : "1"
}
}
}
@@ -40,7 +38,7 @@
"a000000000000000000000000000000000000000" : {
"balance" : "10",
"code" : "create in init code on depth = 1023. account would be created",
- "code" : "{ (JUMPI 63 (EQ (SLOAD 0) 1022)) [[0]] (+ (SLOAD 0) 1) (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0 0 0) (JUMPI 83 (LT (SLOAD 0) 1050)) (JUMPDEST) (MSTORE 0 0x600060006002f0) (CREATE 3 25 7) (JUMPDEST)}",
+ "code" : "{ (JUMPI 61 (EQ (CALLDATALOAD 0) 1022)) (MSTORE 0 (+ (CALLDATALOAD 0) 1)) (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 32 0 0) (JUMPI 81 (LT (CALLDATALOAD 0) 1050)) (JUMPDEST) (MSTORE 0 0x600060006002f0) (CREATE 3 25 7) (JUMPDEST)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_LoopCallsDepthThenRevertFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevertFiller.json
index b5ba25866..9565fda34 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_LoopCallsDepthThenRevertFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsDepthThenRevertFiller.json
@@ -9,44 +9,19 @@
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
- "indexes" : {
- "data" : -1,
- "gas" : 0,
- "value" : -1
- },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- }
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "999990000000"
- }
- }
- },
{
"indexes" : {
"data" : -1,
"gas" : 0,
"value" : -1
},
- "network" : ["EIP150", "EIP158"],
+ "network" : ["Metropolis"],
"result" : {
- "a000000000000000000000000000000000000000" : {
+ "1000000000000000000000000000000000000000" : {
"storage" : {
- "0x00" : "0x69"
+ "0x00" : "0x01",
+ "0x01" : "0x88c8c6"
}
- },
- "b000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x69"
- }
}
}
}
@@ -60,16 +35,23 @@
"storage" : {
}
},
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ [[ 0 ]] (CALL ( - (GAS) 100000) 0x1000000000000000000000000000000000000000 0 0 0 0 0) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
"a000000000000000000000000000000000000000" : {
"balance" : "",
- "code" : "{ [[0]] (+ (SLOAD 0) 1) (STATICCALL (GAS) 0xb000000000000000000000000000000000000000 0 0 0 0 0) }",
+ "code" : "{ (STATICCALL (GAS) 0xb000000000000000000000000000000000000000 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
},
"b000000000000000000000000000000000000000" : {
"balance" : "",
- "code" : "{ [[0]] (+ (SLOAD 0) 1) (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0 0 0) }",
+ "code" : "{ (STATICCALL (GAS) 0xa000000000000000000000000000000000000000 0 0 0 0) }",
"nonce" : "",
"storage" : {
}
@@ -85,7 +67,7 @@
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
+ "to" : "1000000000000000000000000000000000000000",
"value" : [
"0"
]
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_TouchToEmptyAccountRevert2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsThenRevertFiller.json
index b902b60e0..d53fd19b7 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_TouchToEmptyAccountRevert2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_LoopCallsThenRevertFiller.json
@@ -1,5 +1,5 @@
{
- "static_TouchToEmptyAccountRevert2" : {
+ "static_LoopCallsThenRevert" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x020000",
@@ -12,16 +12,14 @@
{
"indexes" : {
"data" : -1,
- "gas" : -1,
+ "gas" : 0,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
- "balance" : "",
- "code" : "",
- "nonce" : "0",
"storage" : {
+ "0x01" : "0x024d79"
}
}
}
@@ -38,24 +36,25 @@
},
"1000000000000000000000000000000000000000" : {
"balance" : "",
- "code" : "",
+ "code" : "{ (MSTORE 0 850) [[ 0 ]] (CALL (- (GAS) 10000) 0xa000000000000000000000000000000000000000 0 0 32 0 0) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
- "ba4f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[0]](STATICCALL 30000 0x1000000000000000000000000000000000000000 0 0 0 0 0) [[1]](STATICCALL 30000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) }",
- "storage": {
- }
+ "a000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ (JUMPDEST) (MSTORE 0 (- (CALLDATALOAD 0) 1)) (STATICCALL 50000 0xb000000000000000000000000000000000000000 0 0 0 0) (JUMPI 0 (MLOAD 0))}",
+ "nonce" : "0",
+ "storage" : {
+ "0x00" : "850"
+ }
},
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0",
- "nonce" : "0",
- "code" : "{ [[2]](STATICCALL 30000 0x1000000000000000000000000000000000000000 0 0 0 0 0) [[3]] 1 }",
- "storage": {
- }
+ "b000000000000000000000000000000000000000" : {
+ "balance" : "",
+ "code" : "{ (MSTORE 0 (ADD 1 (MLOAD 0))) }",
+ "nonce" : "",
+ "storage" : {
+ }
}
},
"transaction" : {
@@ -63,12 +62,12 @@
""
],
"gasLimit" : [
- "77400"
+ "10000000", "9000000"
],
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "ba4f5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "to" : "1000000000000000000000000000000000000000",
"value" : [
"0"
]
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_PostToReturn1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_PostToReturn1Filler.json
index 905297c4f..f96ae2a7e 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_PostToReturn1Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_PostToReturn1Filler.json
@@ -15,12 +15,12 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
- "0x01" : "0x00",
- "0x02" : "0x01"
+ "0x01" : "0x01",
+ "0x02" : "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
}
}
@@ -29,14 +29,14 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[1]](STATICCALL 30000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 64 0 0 ) [[2]] 1 }",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[1]](STATICCALL 30000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 0 0 ) [[2]] (MLOAD 0) }",
"nonce" : "0",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "23",
- "code" : "0x603760005360026000f2",
+ "code" : "0x603760005360026000f3",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RETURN_BoundsFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_RETURN_BoundsFiller.json
index 7cb37c344..c72c4ff62 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RETURN_BoundsFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_RETURN_BoundsFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1",
@@ -30,7 +30,8 @@
"0x08" : "0x01",
"0x09" : "0x01",
"0x0a" : "0x01",
- "0x0b" : "0x01"
+ "0x0b" : "0x01",
+ "0x0c" : "0x01"
}
}
}
@@ -39,7 +40,7 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "0",
- "code" : "{ [[1]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000001 0 0 0 0 0) [[2]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000002 0 0 0 0 0) [[3]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000003 0 0 0 0 0) [[4]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000004 0 0 0 0 0) [[5]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000005 0 0 0 0 0) [[6]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[7]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[8]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[9]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[10]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[11]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[12]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[13]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[14]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[15]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[16]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0)}",
+ "code" : "{ [[1]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000001 0 0 0 0) [[2]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000002 0 0 0 0) [[3]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000003 0 0 0 0) [[4]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000004 0 0 0 0) [[5]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000005 0 0 0 0) [[6]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[7]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[8]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[9]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[10]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[11]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[12]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[13]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[14]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[15]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[16]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RETURN_BoundsOOGFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_RETURN_BoundsOOGFiller.json
index 73d5c08f0..75be110d1 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RETURN_BoundsOOGFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_RETURN_BoundsOOGFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
"balance" : "0",
@@ -28,7 +28,7 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "0",
- "code" : "{ [[1]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000001 0 0 0 0 0) [[2]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000002 0 0 0 0 0) [[3]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000003 0 0 0 0 0) [[4]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000004 0 0 0 0 0) [[5]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000005 0 0 0 0 0) [[6]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[7]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[8]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[9]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[10]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[11]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[12]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[13]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[14]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[15]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0) [[16]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0 0)}",
+ "code" : "{ [[1]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000001 0 0 0 0) [[2]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000002 0 0 0 0) [[3]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000003 0 0 0 0) [[4]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000004 0 0 0 0) [[5]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000005 0 0 0 0) [[6]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[7]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[8]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[9]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[10]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[11]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[12]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[13]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[14]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[15]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0) [[16]] (STATICCALL 0x7ffffffffffffff 0x1000000000000000000000000000000000000006 0 0 0 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_RawCallGasAskFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_RawCallGasAskFiller.json
new file mode 100644
index 000000000..2d56a5947
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_RawCallGasAskFiller.json
@@ -0,0 +1,128 @@
+{
+ "static_RawCallGasAsk" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : 0, "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x072b3b"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : 1, "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "2000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x072b3b"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : 2, "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "3000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x0727d3"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : 3, "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "4000000000000000000000000000000000000001" : {
+ "storage" : {
+ "0x01" : "0x0727d3"
+ }
+ }
+ }
+ }
+ ],
+ "pre" :
+ {
+ "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "",
+ "code" : "{ (MSTORE 0 (GAS)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000",
+ "code" : "{ (CALL (GAS) (CALLDATALOAD 0) 0 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "nonce" : "0",
+ "code" : "{ (STATICCALL 3000000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[1]] (GAS) }",
+ "storage": {
+ }
+ },
+ "2000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "nonce" : "0",
+ "code" : "{ (STATICCALL 30000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[1]] (GAS) }",
+ "storage": {
+ }
+ },
+ "3000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "nonce" : "0",
+ "code" : "{ (STATICCALL 3000000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 8000 0 8000) [[1]] (GAS) }",
+ "storage": {
+ }
+ },
+ "4000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "nonce" : "0",
+ "code" : "{ (STATICCALL 30000 0x094f5374fce5edbc8e2a8697c15331677e6ebf0b 0 8000 0 8000) [[1]] (GAS) }",
+ "storage": {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x0000000000000000000000001000000000000000000000000000000000000001",
+ "0x0000000000000000000000002000000000000000000000000000000000000001",
+ "0x0000000000000000000000003000000000000000000000000000000000000001",
+ "0x0000000000000000000000004000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "500000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Return50000Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_Return50000_2Filler.json
index 4d1c7bbf4..202d93c0b 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_Return50000Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_Return50000_2Filler.json
@@ -1,5 +1,5 @@
{
- "static_Return50000 " : {
+ "static_Return50000_2" : {
"env" : {
"currentCoinbase" : "b94f5374fce5edbc8e2a8697c15331677e6ebf0b",
"currentDifficulty" : "0x020000",
@@ -15,32 +15,16 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0xfffffffffffffffffffffffffabd696f",
- "code" : "0x",
- "nonce" : "0x01",
- "storage" : {
- }
- },
- "aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x0fffffffffffff",
- "code" : "0x600161c34f35f3",
+ "10bf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"nonce" : "0x00",
"storage" : {
+ "0x01" : "0x14f579"
}
},
- "b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x05429690",
- "code" : "0x",
- "nonce" : "0x00",
- "storage" : {
- }
- },
- "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0x0fffffffffffff",
- "code" : "0x5b61c3506080511015603f576000600061c3506000600073aaaf5374fce5edbc8e2a8697c15331677e6ebf0b61061cf16000556001608051016080526000565b608051600155",
"nonce" : "0x00",
"storage" : {
}
@@ -58,14 +42,21 @@
},
"aaaf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0xfffffffffffff",
- "code" : "{ (RETURN (CALLDATALOAD 49999) 1) }",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 49999)) (RETURN (MLOAD 0) 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "10bf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "0xfffffffffffff",
+ "code" : "{ [[ 0 ]] (CALL (GAS) 0xbbbf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0 0) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"bbbf5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0xfffffffffffff",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 1564 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 50000 0 0) ) [[ 1 ]] @i }",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) [[ 0 ]] (STATICCALL 1564 0xaaaf5374fce5edbc8e2a8697c15331677e6ebf0b 0 50000 0 0) ) [[ 1 ]] @i }",
"nonce" : "0",
"storage" : {
}
@@ -81,7 +72,7 @@
"gasPrice" : "1",
"nonce" : "",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "bbbf5374fce5edbc8e2a8697c15331677e6ebf0b",
+ "to" : "10bf5374fce5edbc8e2a8697c15331677e6ebf0b",
"value" : [
"10"
]
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ReturnTest2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_ReturnTest2Filler.json
index f9474cfc9..c862c9880 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ReturnTest2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_ReturnTest2Filler.json
@@ -15,11 +15,11 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier","Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"194f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"storage" : {
- "0x" : "0x15",
+ "0x00" : "0x15",
"0x01" : "0x3f"
}
}
@@ -29,7 +29,7 @@
"pre" : {
"194f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0",
- "code" : "{(MSTORE 0 0x15)(STATICCALL 7000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 32 32 32) [[0]](MLOAD 0) [[1]](MLOAD 32) (RETURN 0 64)}",
+ "code" : "{(MSTORE 0 0x15)(STATICCALL 7000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 32 32 32) [[0]](MLOAD 0) [[1]](MLOAD 32) (RETURN 0 64)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ReturnTestFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_ReturnTestFiller.json
index d98239273..ce427a787 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ReturnTestFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_ReturnTestFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier","Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"194f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"storage" : {
@@ -28,7 +28,7 @@
"pre" : {
"194f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "0",
- "code" : "{(STATICCALL 2000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 30 1 31 1) [[0]](MLOAD 0) (RETURN 30 2)}",
+ "code" : "{(STATICCALL 2000 0xb94f5374fce5edbc8e2a8697c15331677e6ebf0b 30 1 31 1) [[0]](MLOAD 0) (RETURN 30 2)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertDepth2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_RevertDepth2Filler.json
index f3ef13ce0..6be914b6f 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertDepth2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_RevertDepth2Filler.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"a000000000000000000000000000000000000000" : {
"storage" : {
@@ -59,28 +59,28 @@
},
"a000000000000000000000000000000000000000" : {
"balance" : "",
- "code" : "{ [[0]] (ADD 1 (SLOAD 0)) [[1]] (STATICCALL 150000 0xb000000000000000000000000000000000000000 0 0 0 0 0) [[2]] (STATICCALL 150000 0xd000000000000000000000000000000000000000 0 0 0 0 0)}",
+ "code" : "{ [[0]] (ADD 1 (SLOAD 0)) [[1]] (STATICCALL 150000 0xb000000000000000000000000000000000000000 0 0 0 0) [[2]] (STATICCALL 150000 0xd000000000000000000000000000000000000000 0 0 0 0)}",
"nonce" : "0",
"storage" : {
}
},
"b000000000000000000000000000000000000000" : {
"balance" : "",
- "code" : "{ [[0]] (ADD 1 (SLOAD 0)) [[1]] (STATICCALL 50000 0xc000000000000000000000000000000000000000 0 0 0 0 0)}",
+ "code" : "{ (STATICCALL 50000 0xc000000000000000000000000000000000000000 0 0 0 0) (MSTORE 1 1) }",
"nonce" : "",
"storage" : {
}
},
"c000000000000000000000000000000000000000" : {
"balance" : "",
- "code" : "{ [[0]] (ADD 1 (SLOAD 0)) }",
+ "code" : "{ (MSTORE 1 1) }",
"nonce" : "0",
"storage" : {
}
},
"d000000000000000000000000000000000000000" : {
"balance" : "",
- "code" : "{ [[0]] (ADD 1 (SLOAD 0)) [[1]] (STATICCALL 50000 0xc000000000000000000000000000000000000000 0 0 0 0 0) [[2]] (GAS)}",
+ "code" : "{ (STATICCALL 50000 0xc000000000000000000000000000000000000000 0 0 0 0) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundCallOOGFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_RevertOpcodeCallsFiller.json
index fa7a0ac4d..b55eee8a8 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_RevertPrefoundCallOOGFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_RevertOpcodeCallsFiller.json
@@ -1,5 +1,5 @@
{
- "static_RevertPrefoundCallOOG" : {
+ "static_RevertOpcodeCalls" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x020000",
@@ -9,21 +9,19 @@
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
+ {
"indexes" : {
"data" : -1,
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
- "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : {
- "balance" : "1",
- "code" : "",
- "nonce" : "0",
- "storage" : {
- }
- }
+ "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ }
}
}
],
@@ -36,33 +34,32 @@
"storage" : {
}
},
- "7db299e0885c85039f56fa504a13dd8ce8a56aa7" : {
+ "094f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "1",
- "code" : "",
+ "code" : "{ [[0]] (STATICCALL 50000 0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) [[1]] 1}",
"nonce" : "0",
"storage" : {
}
},
- "a000000000000000000000000000000000000000" : {
+ "c94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "1",
- "code" : "{ [[0]] (STATICCALL 50000 0x7db299e0885c85039f56fa504a13dd8ce8a56aa7 0 0 32 0 32) [[1]]12 [[2]]12 }",
- "nonce" : "",
+ "code" : "{ (REVERT 0 1) }",
+ "nonce" : "0",
"storage" : {
}
}
},
"transaction" : {
- "data" : "so X has nothing but the balance Transaction calls A A creates X A went OOG",
"data" : [
- ""
+ ""
],
"gasLimit" : [
- "63000"
+ "460000", "88000"
],
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "a000000000000000000000000000000000000000",
+ "to" : "094f5374fce5edbc8e2a8697c15331677e6ebf0b",
"value" : [
"0"
]
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_OOGRevertFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_ZeroValue_CALL_OOGRevertFiller.json
index 711702a56..711702a56 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_CALL_OOGRevertFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_ZeroValue_CALL_OOGRevertFiller.json
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_OOGRevertFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_ZeroValue_SUICIDE_OOGRevertFiller.json
index 7542568e9..7542568e9 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_ZeroValue_SUICIDE_OOGRevertFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_ZeroValue_SUICIDE_OOGRevertFiller.json
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls0Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callBasicFiller.json
index b3577feba..8dd90ec8c 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcalls0Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callBasicFiller.json
@@ -1,5 +1,5 @@
{
- "static_ABAcalls0" : {
+ "static_callBasic" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -10,92 +10,94 @@
},
"expect" : [
{
- "indexes" : {
- "data" : 0,
- "gas" : -1,
- "value" : -1
- },
+ "indexes" : { "data" : [0, 1], "gas" : -1, "value" : -1 },
"network" : ["Metropolis"],
"result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000100000",
- "storage" : {
- "0x24" : "0x00"
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
+ "1000000000000000000000000000000000000000" : {
"storage" : {
- "0x26" : "0x00"
+ "0x00" : "0x00",
+ "0x01" : "0x0d523a"
}
- },
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : [2], "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x0ce29d"
+ "0x01" : "0x0dff20"
}
}
}
},
{
- "indexes" : {
- "data" : 1,
- "gas" : -1,
- "value" : -1
- },
+ "indexes" : { "data" : [3], "gas" : -1, "value" : -1 },
"network" : ["Metropolis"],
"result" : {
- "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000100000",
- "storage" : {
- "0x24" : "0x00"
- }
- },
- "245304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "storage" : {
- "0x26" : "0x00"
- }
- },
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x0df479"
+ "0x01" : "0x0e8125"
}
- }
+ },
+ "3000000000000000000000000000000000000003" : {
+ "balance" : "23"
+ }
}
}
],
"pre" : {
- "1000000000000000000000000000000000000000" : {
+ "1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
+ "code" : "Static call success",
+ "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ [[ (PC) ]] (STATICCALL 100000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }",
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "23",
+ "code" : " { [[ 1 ]] 1 } ",
"nonce" : "0",
"storage" : {
+ "0x01" : "0x01"
}
},
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
+ "1000000000000000000000000000000000000002" : {
"balance" : "23",
- "code" : " { [[ (PC) ]] (ADD 1 (STATICCALL 50000 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0)) } ",
+ "code" : " { [[ 1 ]] 0 } ",
"nonce" : "0",
"storage" : {
+ "0x01" : "0x00"
}
},
- "195e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 1 (PC)) (STATICCALL 100000 0x245304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0) }",
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "23",
+ "code" : " { (CALL 40000 0x2000000000000000000000000000000000000003 0 0 0 0 0) (MSTORE 1 1) } ",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "2000000000000000000000000000000000000003" : {
+ "balance" : "23",
+ "code" : " { (LOG0 1 10) (MSTORE 1 1) } ",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000004" : {
+ "balance" : "23",
+ "code" : " { (CALLCODE 40000 0x3000000000000000000000000000000000000003 1 0 0 0 0) (MSTORE 1 1) } ",
"nonce" : "0",
"storage" : {
}
},
- "245304eb96065b2a98b57a48a06ae28d285a71b5" : {
+ "3000000000000000000000000000000000000003" : {
"balance" : "23",
- "code" : " { (MSTORE 1 (PC)) (STATICCALL 50000 0x195e7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) } ",
+ "code" : " { (MSTORE 1 1) } ",
"nonce" : "0",
"storage" : {
}
@@ -110,8 +112,10 @@
},
"transaction" : {
"data" : [
- "0x000000000000000000000000095e7baea6a6c7c4c2dfeb977efac326af552d87",
- "0x000000000000000000000000195e7baea6a6c7c4c2dfeb977efac326af552d87"
+ "0x0000000000000000000000001000000000000000000000000000000000000001",
+ "0x0000000000000000000000001000000000000000000000000000000000000002",
+ "0x0000000000000000000000001000000000000000000000000000000000000003",
+ "0x0000000000000000000000001000000000000000000000000000000000000004"
],
"gasLimit" : [
"1000000"
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00_OOGEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callChangeRevertFiller.json
index f30e80982..ba917236d 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00_OOGEFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callChangeRevertFiller.json
@@ -1,9 +1,9 @@
{
- "static_callcall_00_OOGE" : {
+ "static_callChangeRevert" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
+ "currentGasLimit" : "10000000",
"currentNumber" : "1",
"currentTimestamp" : "1000",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
@@ -16,26 +16,12 @@
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00"
+ "0x01" : "0x01",
+ "0x02" : "0x01"
}
},
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00"
- }
- },
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x015a0e"
- }
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0x02"
}
}
},
@@ -45,77 +31,72 @@
"result" : {
"2000000000000000000000000000000000000000" : {
"storage" : {
- "0x00" : "0x01",
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "2000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
+ "0x00" : "0x00",
+ "0x01" : "0x00",
+ "0x02" : "0x00"
}
},
- "2000000000000000000000000000000000000002" : {
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0x00"
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : 2, "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "3000000000000000000000000000000000000000" : {
"storage" : {
- "0x02" : "0x00"
+ "0x00" : "0x01",
+ "0x01" : "0x00",
+ "0x02" : "0x01"
}
},
- "a000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x015a0e"
- }
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0x02"
}
}
}
],
"pre" : {
"a000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
+ "balance" : "1000000000000000000",
+ "code" : "{ (CALL 350000 (CALLDATALOAD 0) 0 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "code" : "{ [[ 0 ]] (CALL 100000 0x1000000000000000000000000000000000000001 1 0 0 0 0) [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000001 0 0 0 0) [[ 2 ]] (CALL 100000 0x1000000000000000000000000000000000000001 1 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
},
- "1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (MSTORE 2 1) (STATICCALL 20020 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "",
+ "code" : "{ (MSTORE 1 1) }",
"nonce" : "0",
"storage" : {
}
},
- "1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (SSTORE 2 1) (MSTORE 2 1)}",
- "nonce" : "0",
- "storage" : {
- }
- },
- "2000000000000000000000000000000000000000" : {
+ "2000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "code" : "{ [[ 0 ]] (CALL 100000 0x1000000000000000000000000000000000000001 1 0 0 0 0) [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000001 0 0 0 0) [[ 2 ]] (CALL 100000 0x1000000000000000000000000000000000000001 1 0 0 0 0) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
},
- "2000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (MSTORE 2 1) (STATICCALL 20020 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
+ "3000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALL 100000 0x1000000000000000000000000000000000000002 1 0 0 0 0) [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 0 0) [[ 2 ]] (CALL 100000 0x1000000000000000000000000000000000000002 1 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
},
- "2000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) )}",
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "",
+ "code" : "{ (MSTORE 1 1) (SSTORE 1 (SLOAD 1)) }",
"nonce" : "0",
"storage" : {
}
@@ -131,17 +112,18 @@
"transaction" : {
"data" : [
"0x0000000000000000000000001000000000000000000000000000000000000000",
- "0x0000000000000000000000002000000000000000000000000000000000000000"
+ "0x0000000000000000000000002000000000000000000000000000000000000000",
+ "0x0000000000000000000000003000000000000000000000000000000000000000"
],
"gasLimit" : [
- "172000"
+ "1000000"
],
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "a000000000000000000000000000000000000000",
"value" : [
- "0"
+ "100000"
]
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfter2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callCreate2Filler.json
index a652a4e8d..9daee56f2 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMAfter2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callCreate2Filler.json
@@ -1,79 +1,81 @@
{
- "static_callcallcallcode_001_OOGMAfter2" : {
+ "static_callCreate2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
+ "currentGasLimit" : "10000000",
"currentNumber" : "1",
"currentTimestamp" : "1000",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
+ {
+ "indexes" : { "data" : 0, "gas" : -1, "value" : -1 },
"network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
- "0x00" : "0x00",
- "0x01" : "0x014b7e",
- "0x02" : "0x00",
- "0x03" : "0x00"
+ "0x00" : "0x13136008b64ff592819b2fa6d43f2835c452020e",
+ "0x01" : "0x01"
}
- },
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : 1, "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
"1000000000000000000000000000000000000001" : {
"storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
+ "0x00" : "0x5dddfce53ee040d9eb21afbc0ae1bb4dbb0ba643",
+ "0x01" : "0x00"
}
},
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
+ "5dddfce53ee040d9eb21afbc0ae1bb4dbb0ba643" : {
+ "code" : "0x6001600155",
+ "storage" : {
}
- },
- "1000000000000000000000000000000000000003" : {
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : 2, "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000001" : {
"storage" : {
- "0x03" : "0x00"
+ "0x00" : "0x00",
+ "0x01" : "0x00"
}
}
}
}
],
"pre" : {
- "1000000000000000000000000000000000000000" : {
+ "a000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ (CALL 600000 (CALLDATALOAD 0) 0 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
},
- "2000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }",
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CREATE 1 0 0) [[ 1 ]] (STATICCALL 300000 (SLOAD 0) 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1)}",
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 0 0x6460016001556000526005601bf3 ) [[ 0 ]] (CREATE 1 18 14) [[ 1 ]] (STATICCALL 300000 (SLOAD 0) 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "0",
- "code" : "{ (MSTORE 3 1) }",
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 0 0x6460016001556000526005601bf3 ) [[ 0 ]] (CREATE 1 18 14) [[ 1 ]] (STATICCALL 300000 (SLOAD 0) 0 0 0 0) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
@@ -88,18 +90,19 @@
},
"transaction" : {
"data" : [
+ "0x0000000000000000000000001000000000000000000000000000000000000000",
"0x0000000000000000000000001000000000000000000000000000000000000001",
- "0x0000000000000000000000002000000000000000000000000000000000000001"
+ "0x0000000000000000000000001000000000000000000000000000000000000002"
],
"gasLimit" : [
- "172000"
+ "1000000"
],
"gasPrice" : "1",
"nonce" : "0",
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
- "to" : "1000000000000000000000000000000000000000",
+ "to" : "a000000000000000000000000000000000000000",
"value" : [
- "0"
+ "100000"
]
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callCreate3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callCreate3Filler.json
new file mode 100644
index 000000000..c2a34e9e3
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callCreate3Filler.json
@@ -0,0 +1,67 @@
+{
+ "static_callCreate3" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : 0, "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x13136008b64ff592819b2fa6d43f2835c452020e",
+ "0x01" : "0x01",
+ "0x02" : "0x07a52c"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "a000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (CALL 600000 (CALLDATALOAD 0) 0 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (STATICCALL 100000 (ADDRESS) 0 0 0 0) } ",
+ "code" : "{ (MSTORE 0 0x600060006000600030620186a0fa) (RETURN 18 14) }",
+ "code" : "{ (MSTORE 0 0x6d600060006000600030620186a0fa600052600e6012f3) [[ 0 ]] (CREATE 1 9 23) [[ 1 ]] (STATICCALL 30000 (SLOAD 0) 0 0 0 0) [[ 2 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x0000000000000000000000001000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "1000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "a000000000000000000000000000000000000000",
+ "value" : [
+ "100000"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callCreateFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callCreateFiller.json
new file mode 100644
index 000000000..47a5fed5d
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callCreateFiller.json
@@ -0,0 +1,105 @@
+{
+ "static_callCreate" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : [0,2,3], "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : [1], "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (STATICCALL 300000 (CALLDATALOAD 0) 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (CALL 150000 0x1000000000000000000000000000000000000002 0 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (CALLCODE 150000 0x1000000000000000000000000000000000000002 0 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (DELEGATECALL 150000 0x1000000000000000000000000000000000000002 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000004" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (STATICCALL 150000 0x1000000000000000000000000000000000000002 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (CREATE 0 1 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x0000000000000000000000001000000000000000000000000000000000000001",
+ "0x0000000000000000000000001000000000000000000000000000000000000002",
+ "0x0000000000000000000000001000000000000000000000000000000000000003",
+ "0x0000000000000000000000001000000000000000000000000000000000000004"
+ ],
+ "gasLimit" : [
+ "1000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "100000"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callOutput1Filler.json
index 10caab2e8..e67050a67 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput1Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callOutput1Filler.json
@@ -11,7 +11,7 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150" ],
+ "network" : ["Metropolis" ],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -24,7 +24,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 0) [[ 0 ]] (MLOAD 0) }",
+ "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0) [[ 0 ]] (MLOAD 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callOutput2Filler.json
index 0a3a965be..20065c349 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callOutput2Filler.json
@@ -11,7 +11,7 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150" ],
+ "network" : ["Metropolis" ],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -24,7 +24,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 32 0 0) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 32 0 0) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput3FailFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3FailFiller.json
index da198b243..f922a4dc3 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput3FailFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3FailFiller.json
@@ -11,7 +11,7 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150" ],
+ "network" : ["Metropolis" ],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -24,7 +24,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3Filler.json
index da6adbe0d..7b8f323df 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput3Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3Filler.json
@@ -11,7 +11,7 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150" ],
+ "network" : ["Metropolis" ],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -24,7 +24,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 32) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 32) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput3partialFailFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3partialFailFiller.json
index dd9d4fd97..d36f62f20 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput3partialFailFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3partialFailFiller.json
@@ -11,7 +11,7 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150" ],
+ "network" : ["Metropolis" ],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -24,7 +24,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 10) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 10) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput3partialFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3partialFiller.json
index c973f8b04..a672ddc2f 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callOutput3partialFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callOutput3partialFiller.json
@@ -11,7 +11,7 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150" ],
+ "network" : ["Metropolis" ],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -24,7 +24,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 0 10) [[ 0 ]] (MLOAD 0)}",
+ "code" : "{ (MSTORE 0 0x5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6) (STATICCALL 50000 0xaaae7baea6a6c7c4c2dfeb977efac326af552d87 0 0 0 10) [[ 0 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callToCallCodeOpCodeCheckFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callToCallCodeOpCodeCheckFiller.json
new file mode 100644
index 000000000..d6d1d3f19
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callToCallCodeOpCodeCheckFiller.json
@@ -0,0 +1,72 @@
+{
+ "static_callToCallCodeOpCodeCheck" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "Static call success",
+ "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "Static call success",
+ "code" : "{ (MSTORE 0 (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 1) ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x0000000000000000000000001000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "1000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "100000"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callToCallOpCodeCheckFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callToCallOpCodeCheckFiller.json
new file mode 100644
index 000000000..1f84021d7
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callToCallOpCodeCheckFiller.json
@@ -0,0 +1,72 @@
+{
+ "static_callToCallOpCodeCheck" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "Static call success",
+ "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "Static call success",
+ "code" : "{ (MSTORE 0 (CALL 100000 0x1000000000000000000000000000000000000002 0 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 1) ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000002 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x0000000000000000000000001000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "1000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "100000"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callToDelCallOpCodeCheckFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callToDelCallOpCodeCheckFiller.json
new file mode 100644
index 000000000..21b6484a8
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callToDelCallOpCodeCheckFiller.json
@@ -0,0 +1,72 @@
+{
+ "static_callToDelCallOpCodeCheck" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "Static call success",
+ "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "Static call success",
+ "code" : "{ (MSTORE 0 (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 1) ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000000 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x0186a0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x0000000000000000000000001000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "1000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "100000"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callToStaticOpCodeCheckFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callToStaticOpCodeCheckFiller.json
new file mode 100644
index 000000000..4e1bf5c1b
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callToStaticOpCodeCheckFiller.json
@@ -0,0 +1,72 @@
+{
+ "static_callToStaticOpCodeCheck" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "Static call success",
+ "code" : "{ [[ 0 ]] (STATICCALL 100000 (CALLDATALOAD 0) 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "Static call success",
+ "code" : "{ (MSTORE 0 (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 0 0)) (if (= 1 (MLOAD 0)) (MSTORE 1 1) (SSTORE 1 1) ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (if (= 0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b (ORIGIN)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000001 (CALLER)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x1000000000000000000000000000000000000002 (ADDRESS)) (MSTORE 1 1) (SSTORE 1 2) ) (if (= 0x0186a0 (CALLVALUE)) (MSTORE 1 1) (SSTORE 1 2) ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x0000000000000000000000001000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "1000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "100000"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callWithHighValueAndGasOOGFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueAndGasOOGFiller.json
index 840350c7c..63254e3fa 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callWithHighValueAndGasOOGFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueAndGasOOGFiller.json
@@ -11,10 +11,12 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier","Homestead", "EIP158", "EIP150" ],
+ "network" : ["Metropolis" ],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x3700ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
}
}
}
@@ -23,14 +25,14 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 0xffffffffffffffffffffffff 0x945304eb96065b2a98b57a48a06ae28d285a71b5 100000000000000000000 0 64 0 2 ) }",
+ "code" : "{ (MSTORE 0 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) (MSTORE 32 0xaaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffaa ) [[ 0 ]] (STATICCALL 0xffffffffffffffffffffffff 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 0 2 ) [[ 1 ]] (MLOAD 0)}",
"nonce" : "0",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "23",
- "code" : "0x6001600155603760005360026000f3",
+ "code" : "0x603760005360026000f3",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callWithHighValueAndOOGatTxLevelFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueAndOOGatTxLevelFiller.json
index b7183b50b..346bff369 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callWithHighValueAndOOGatTxLevelFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueAndOOGatTxLevelFiller.json
@@ -9,29 +9,17 @@
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier","Homestead"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- }
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "3000000"
- }
- }
- },
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["EIP158", "EIP150" ],
+ "network" : ["Metropolis" ],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
+ "0x00" : "0x01"
}
},
"2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "33424"
+ "balance" : "46751"
}
}
}
@@ -39,14 +27,14 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "100000",
- "code" : "{ [[ 0 ]] (STATICCALL 3000001 0x945304eb96065b2a98b57a48a06ae28d285a71b5 100001 0 0 0 0 ) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 3000001 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0 ) [[ 1 ]] (MLOAD 0) }",
"nonce" : "0",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "23",
- "code" : "0x6001600155603760005360026000f3",
+ "code" : "0x603760005360026000f3",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callWithHighValueFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueFiller.json
index adb79686e..256aaab85 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callWithHighValueFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueFiller.json
@@ -11,10 +11,12 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier","Homestead", "EIP158", "EIP150" ],
+ "network" : ["Metropolis" ],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2d23ad"
}
}
}
@@ -23,14 +25,14 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 50000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 1000000000000000001 0 64 0 2 ) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 50000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 64 0 2 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "23",
- "code" : "0x6001600155603760005360026000f3",
+ "code" : "0x603760005360026000f3",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callWithHighValueOOGinCallFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueOOGinCallFiller.json
index 60cc81e44..906e45f0c 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callWithHighValueOOGinCallFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callWithHighValueOOGinCallFiller.json
@@ -9,37 +9,14 @@
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier","Homestead"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "storage" : {
- "0x00" : "0x01"
- }
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "0x17"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x0de0b6b3a763155a"
- }
- }
- },
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["EIP158", "EIP150" ],
+ "network" : ["Metropolis" ],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
"0x00" : "0x01"
}
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "0x17"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "999999999999939270"
}
}
}
@@ -47,14 +24,14 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "100000",
- "code" : "{ [[ 0 ]] (ADD (STATICCALL 10000 0x945304eb96065b2a98b57a48a06ae28d285a71b5 23 0 0 0 0 ) 1) }",
+ "code" : "{ [[ 0 ]] (ADD (STATICCALL 10 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 0 0 0 ) 1) [[ 1 ]] (MLOAD 0) }",
"nonce" : "0",
"storage" : {
}
},
"945304eb96065b2a98b57a48a06ae28d285a71b5" : {
"balance" : "23",
- "code" : "0x6001600155603760005360026000f3",
+ "code" : "0x603760005360026000f3",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_call_OOG_additionalGasCosts1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_call_OOG_additionalGasCosts1Filler.json
index 802ffb154..5af289ec1 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_call_OOG_additionalGasCosts1Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_call_OOG_additionalGasCosts1Filler.json
@@ -9,33 +9,12 @@
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier","Homestead", "EIP150"],
- "result" : {
- "1000000000000000000000000000000000000001" : {
- "shouldnotexist" : "1"
- },
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "30000"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "999999999999970000"
- }
- }
- },
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["EIP158"],
+ "network" : ["Metropolis"],
"result" : {
- "1000000000000000000000000000000000000001" : {
- "shouldnotexist" : "1"
- },
"2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "21727"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "999999999999978273"
+ "balance" : "30000"
}
}
}
@@ -44,7 +23,7 @@
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
"nonce" : "0",
- "code" : "{ (STATICCALL 6000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 6000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
"storage": {}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_call_OOG_additionalGasCosts2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_call_OOG_additionalGasCosts2Filler.json
index 8ab951dec..b07807300 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_call_OOG_additionalGasCosts2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_call_OOG_additionalGasCosts2Filler.json
@@ -11,16 +11,18 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier","Homestead", "EIP150", "EIP158"],
+ "network" : ["Metropolis"],
"result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+
+ }
+ },
"1000000000000000000000000000000000000001" : {
"balance" : "0"
},
"2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
"balance" : "0x7530"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "0x0de0b6b3a7638ad0"
}
}
}
@@ -29,7 +31,7 @@
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
"nonce" : "0",
- "code" : "{ (STATICCALL 6000 0x1000000000000000000000000000000000000001 1 0 64 0 64 ) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 6000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
"storage": {}
},
"1000000000000000000000000000000000000001" : {
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011Filler.json
new file mode 100644
index 000000000..95a7ae4b4
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011Filler.json
@@ -0,0 +1,84 @@
+{
+ "static_callcallcodecallcode_011" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2d1de0",
+ "0x03" : "0x00",
+ "0x04" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 1 1) (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 1 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 11 1) (DELEGATECALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 11 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 1 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGEFiller.json
new file mode 100644
index 000000000..a3a13e7d7
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGEFiller.json
@@ -0,0 +1,90 @@
+{
+ "static_callcallcodecallcode_011_OOGE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01a7e8"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (DELEGATECALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "2000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x0000000000000000000000001000000000000000000000000000000000000003",
+ "0x0000000000000000000000002000000000000000000000000000000000000003"
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGE_2Filler.json
index 59d6a4a9c..6080a1768 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGE_2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_010_2" : {
+ "static_callcallcodecallcode_011_OOGE_2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -16,7 +16,7 @@
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x2d02d6"
+ "0x01" : "0x01f5eb"
}
}
}
@@ -28,7 +28,7 @@
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x2d1d02"
+ "0x01" : "0x01dbce"
}
}
}
@@ -37,28 +37,28 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 350000 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (CALLCODE 300000 0x1000000000000000000000000000000000000002 2 0 64 0 64 ) }",
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) (CALLCODE 100000 (CALLDATALOAD 0) 0 0 64 0 64 ) (MSTORE 3 1)}",
"nonce" : "0",
"storage" : {
}
},
- "2000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (CALLCODE 300000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 11) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 13 1)}",
"nonce" : "0",
"storage" : {
}
},
- "1000000000000000000000000000000000000002" : {
- "balance" : "1000000000000000000",
- "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "2000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 11) (CALLCODE 20020 0x1000000000000000000000000000000000000003 1 0 64 0 64 ) (MSTORE 13 1)}",
"nonce" : "0",
"storage" : {
}
@@ -80,11 +80,11 @@
},
"transaction" : {
"data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000001",
- "0x0000000000000000000000002000000000000000000000000000000000000001"
+ "0x0000000000000000000000001000000000000000000000000000000000000002",
+ "0x0000000000000000000000002000000000000000000000000000000000000002"
],
"gasLimit" : [
- "3000000"
+ "172000"
],
"gasPrice" : "1",
"nonce" : "0",
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMAfter2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2Filler.json
index 5ccac8c53..8bb288217 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMAfter2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_010_OOGMAfter2" : {
+ "static_callcallcodecallcode_011_OOGMAfter2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -32,21 +32,21 @@
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
},
"2000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SSTORE 1 1) }",
+ "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
@@ -68,8 +68,8 @@
},
"transaction" : {
"data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000001",
- "0x0000000000000000000000002000000000000000000000000000000000000001"
+ "0x0000000000000000000000001000000000000000000000000000000000000001",
+ "0x0000000000000000000000002000000000000000000000000000000000000001"
],
"gasLimit" : [
"172000"
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfterFiller.json
index 3024adfc2..ba0baf149 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMAfterFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfterFiller.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_010_OOGMAfter" : {
+ "static_callcallcodecallcode_011_OOGMAfter" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -20,9 +20,7 @@
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x00",
- "0x01" : "0x014b7e",
- "0x02" : "0x00",
- "0x03" : "0x00"
+ "0x01" : "0x014b88"
}
}
}
@@ -31,28 +29,28 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 60140 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (STORE 3 1) }",
+ "code" : "{ (MSTORE 1 1) (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
},
"2000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "code" : "{ (MSTORE 1 1) (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (STATICCALL 20040 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "code" : "{ (MSTORE 1 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 1 1) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMAfter_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1Filler.json
index 842332cdb..ae0dee96d 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMAfter_2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_1Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_010_OOGMAfter_2" : {
+ "static_callcallcodecallcode_011_OOGMAfter_1" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x020000",
@@ -20,9 +20,7 @@
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x00",
- "0x01" : "0x014b7e",
- "0x02" : "0x00",
- "0x03" : "0x00"
+ "0x01" : "0x014b88"
}
}
}
@@ -32,26 +30,26 @@
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
"nonce" : "0",
- "code" : "{ [[ 0 ]] (STATICCALL 60150 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 60140 (CALLDATALOAD 0) 0 64 0 64 ) [[ 1 ]] (GAS) }",
"storage": {}
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }",
+ "code" : "{ (MSTORE 3 1) (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
},
"2000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "code" : "{ (MSTORE 3 1) (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (STATICCALL 20040 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "code" : "{ (MSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMAfter_3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2Filler.json
index d108230d8..939ea44e6 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMAfter_3Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMAfter_2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_010_OOGMAfter_3" : {
+ "static_callcallcodecallcode_011_OOGMAfter_2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x020000",
@@ -20,11 +20,9 @@
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x00",
- "0x01" : "0x014b7e",
- "0x02" : "0x00",
- "0x03" : "0x00"
+ "0x01" : "0x014b7e"
}
- }
+ }
}
}
],
@@ -37,21 +35,21 @@
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SSTORE 3 1) }",
+ "code" : "{ (MSTORE 3 1) (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
},
"2000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "code" : "{ (MSTORE 3 1) (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "code" : "{ (MSTORE 3 1) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 32 1) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMBefore2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2Filler.json
index 7d29a9c74..4dd87475f 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_OOGMBefore2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMBefore2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcallcode_001_OOGMBefore2" : {
+ "static_callcallcodecallcode_011_OOGMBefore2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -10,70 +10,69 @@
},
"expect" : [
{
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
+ "indexes" : { "data" : [0,1], "gas" : -1, "value" : -1 },
"network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x015c55",
- "0x02" : "0x00",
- "0x03" : "0x00"
+ "0x01" : "0x015c55"
}
- },
- "1000000000000000000000000000000000000001" : {
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : [2], "gas" : -1, "value" : -1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
"storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
+ "0x00" : "0x01",
+ "0x01" : "0x01dbd7"
}
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- }
+ }
}
}
],
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 32 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 32 1) }",
+ "code" : "{ (MSTORE 32 1) (CALLCODE 40080 (CALLDATALOAD 0) 0 0 64 0 64 ) (MSTORE 32 1) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (SSTORE 1 1) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "code" : "{ (SSTORE 3 1) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 32 1) }",
"nonce" : "0",
"storage" : {
}
},
"2000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 32 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "3000000000000000000000000000000000000002" : {
+ "balance" : "10",
+ "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 1 0 64 0 64 ) (MSTORE 32 1) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000003" : {
"balance" : "0",
- "code" : "{ (MSTORE 3 1) }",
+ "code" : "{ (MSTORE 32 1) }",
"nonce" : "0",
"storage" : {
}
@@ -89,7 +88,8 @@
"transaction" : {
"data" : [
"0x0000000000000000000000001000000000000000000000000000000000000002",
- "0x0000000000000000000000002000000000000000000000000000000000000002"
+ "0x0000000000000000000000002000000000000000000000000000000000000002",
+ "0x0000000000000000000000003000000000000000000000000000000000000002"
],
"gasLimit" : [
"172000"
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMBeforeFiller.json
index 17920cc48..e857b5359 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMBeforeFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_OOGMBeforeFiller.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_010_OOGMBefore" : {
+ "static_callcallcodecallcode_011_OOGMBefore" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -15,14 +15,12 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Metropolis"],
+ "network" : "Metropolis",
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x015c6c",
- "0x02" : "0x00",
- "0x03" : "0x00"
+ "0x01" : "0x015c58"
}
}
}
@@ -31,28 +29,28 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS)}",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (DELEGATECALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) }",
+ "code" : "{ (MSTORE 3 1) (DELEGATECALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (SSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "code" : "{ (SSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
},
"2000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_SuicideEnd2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2Filler.json
index 3686a20dc..bfebd9bf9 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_SuicideEnd2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideEnd2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_010_SuicideEnd2" : {
+ "static_callcallcodecallcode_011_SuicideEnd2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -16,13 +16,7 @@
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x2b9a48"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
+ "0x01" : "0x2b9a3f"
}
}
}
@@ -38,14 +32,14 @@
},
"1000000000000000000000000000000000000001" : {
"balance" : "10000000000",
- "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "code" : "{ (MSTORE 3 1) (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "10000000000",
- "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
+ "code" : "{ (MSTORE 3 1) (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideEndFiller.json
new file mode 100644
index 000000000..7a453a06b
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideEndFiller.json
@@ -0,0 +1,85 @@
+{
+ "static_callcallcodecallcode_011_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : "Metropolis",
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2b9a4b"
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2Filler.json
index 78d8a8394..48bf5fbf1 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_SuicideMiddleFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideMiddle2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcall_000_SuicideMiddle" : {
+ "static_callcallcodecallcode_011_SuicideMiddle2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -14,39 +14,35 @@
"network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x2b9a37"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "storage" : {
"0x01" : "0x00"
}
- }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000"
+ }
}
}
],
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "10000000000",
- "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
+ "code" : "{ (MSTORE 3 1) (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "10000000000",
- "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideMiddleFiller.json
index 650e94afe..aa1f7ae08 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_SuicideEndFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_011_SuicideMiddleFiller.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_010_SuicideEnd" : {
+ "static_callcallcodecallcode_011_SuicideMiddle" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -20,23 +20,11 @@
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x2b9a4b",
- "0x03" : "0x00"
+ "0x01" : "0x2b9a4b"
}
},
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000"
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000"
}
}
}
@@ -58,7 +46,7 @@
},
"1000000000000000000000000000000000000002" : {
"balance" : "10000000000",
- "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
+ "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_ABCB_RECURSIVE2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json
index f3f1ee55b..9db82f39a 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_ABCB_RECURSIVE2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVE2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_ABCB_RECURSIVE2" : {
+ "static_callcallcodecallcode_ABCB_RECURSIVE2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -9,14 +9,14 @@
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
+ {
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
"network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x01c75c78"
+ "0x01" : "0x01c75bde"
}
},
"1000000000000000000000000000000000000001" : {
@@ -51,7 +51,7 @@
},
"1000000000000000000000000000000000000002" : {
"balance" : "10000000000",
- "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "code" : "{ (CALLCODE 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVEFiller.json
index 30c505b86..eabd289d0 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_ABCB_RECURSIVEFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcallcodecallcode_ABCB_RECURSIVEFiller.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_ABCB_RECURSIVE" : {
+ "static_callcallcodecallcode_ABCB_RECURSIVE" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -55,7 +55,7 @@
},
"1000000000000000000000000000000000000002" : {
"balance" : "10000000000",
- "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "code" : "{ (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcode_checkPCFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcode_checkPCFiller.json
index 9e0049e1f..4c9af0e41 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcode_checkPCFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcode_checkPCFiller.json
@@ -11,11 +11,11 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier","Homestead", "EIP150", "EIP158"],
+ "network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
- "0x03" : "0x25"
+ "0x03" : "0x23"
}
}
}
@@ -25,7 +25,7 @@
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
"nonce" : "0",
- "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) [[3]] (PC)}",
+ "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[3]] (PC)}",
"storage": {}
},
"1000000000000000000000000000000000000001" : {
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_calldelcode_01Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10Filler.json
index e78863da8..11c309786 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_calldelcode_01Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10Filler.json
@@ -1,5 +1,5 @@
{
- "static_calldelcode_01" : {
+ "static_callcodecall_10" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -20,7 +20,7 @@
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x2d20dc"
+ "0x01" : "0x2d20c8"
}
}
}
@@ -29,21 +29,21 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
- "balance" : "0",
- "code" : "{ (DELEGATECALL 250000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 1 1) (STATICCALL 250000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 1 1) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (MSTORE 1 0x11223344) }",
+ "code" : "{ (MSTORE 1 1) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_2Filler.json
index f0049132e..af676200f 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00_SuicideEndFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcall_00_SuicideEnd" : {
+ "static_callcodecall_10_2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -11,18 +11,12 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "storage" : {
- "0x00" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
"storage" : {
- "0x02" : "0x00"
+ "0x00" : "0x01",
+ "0x01" : "0x2d06ad"
}
}
}
@@ -31,21 +25,21 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 1 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
- "balance" : "10000000000",
- "code" : "{ (MSTORE 32 1) (STATICCALL 50000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }",
+ "balance" : "1000000000000000000",
+ "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "code" : "{ (MSTORE 2 1) }",
+ "balance" : "0",
+ "code" : "{ (MSTORE 1 1) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_calldelcode_01_OOGEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_OOGEFiller.json
index 1f19d6009..624b15ed8 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_calldelcode_01_OOGEFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_OOGEFiller.json
@@ -1,5 +1,5 @@
{
- "static_calldelcode_01_OOGE" : {
+ "static_callcodecall_10_OOGE" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -29,21 +29,21 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (DELEGATECALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) }",
+ "code" : "{ (STATICCALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (SSTORE 2 1) (MSTORE 2 1)}",
+ "code" : "{ (SSTORE 2 1)}",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_OOGE_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_OOGE_2Filler.json
index 10738e848..3ba958445 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecall_10_OOGE_2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_OOGE_2Filler.json
@@ -11,12 +11,12 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x00",
+ "0x01" : "0x01aab1",
"0x02" : "0x00"
}
},
@@ -38,21 +38,28 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ [[ 1 ]] (STATICCALL 20020 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "code" : "{ (MSTORE 2 1) (STATICCALL 20020 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 32 1) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (SSTORE 2 1) (MSTORE 2 1) }",
+ "code" : "{ (SSTORE 2 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "2000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
@@ -67,7 +74,8 @@
},
"transaction" : {
"data" : [
- ""
+ "0x0000000000000000000000001000000000000000000000000000000000000002",
+ "0x0000000000000000000000002000000000000000000000000000000000000002"
],
"gasLimit" : [
"172000"
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcode_01_SuicideEnd2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_SuicideEnd2Filler.json
index e8857d519..d5d293127 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcode_01_SuicideEnd2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_SuicideEnd2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcode_01_SuicideEnd2" : {
+ "static_callcodecall_10_SuicideEnd2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -14,18 +14,7 @@
"network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
- "storage" : {
- "0x00" : "0x00",
- "0x01" : "0x2b1467"
- }
-
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "storage" : {
- "0x02" : "0x00"
- }
+ "shouldnotexist" : "1"
}
}
}
@@ -33,14 +22,14 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "10000000000",
- "code" : "{ (CALLCODE 50000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }",
+ "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }",
"nonce" : "0",
"storage" : {
}
@@ -72,7 +61,7 @@
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "1000000000000000000000000000000000000000",
"value" : [
- "0"
+ "0", "1"
]
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_SuicideEndFiller.json
new file mode 100644
index 000000000..9caf76d52
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecall_10_SuicideEndFiller.json
@@ -0,0 +1,80 @@
+{
+ "static_callcodecall_10_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (STATICCALL 50000 (CALLDATALOAD 0) 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000000) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (MSTORE 2 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "2000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (SSTORE 2 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x0000000000000000000000001000000000000000000000000000000000000002",
+ "0x0000000000000000000000002000000000000000000000000000000000000002"
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100Filler.json
new file mode 100644
index 000000000..af19ebd1a
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100Filler.json
@@ -0,0 +1,82 @@
+{
+ "static_callcodecallcall_100" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2d1dfe"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 5 (CALLER))}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 1 1)}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_2Filler.json
new file mode 100644
index 000000000..adbde615c
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_2Filler.json
@@ -0,0 +1,90 @@
+{
+ "static_callcodecallcall_100_2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : [0] },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2d1e06"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : [1] },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2d03da"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 1 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGE_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGE2Filler.json
index 0a9268d98..2c2f0b4fd 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGE_2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGE2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_010_OOGE_2" : {
+ "static_callcodecallcall_100_OOGE2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -16,7 +16,7 @@
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x01a7e5"
+ "0x01" : "0x01a7e6"
}
}
}
@@ -25,14 +25,14 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 32 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 32 0 64 ) }",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
@@ -68,7 +68,7 @@
},
"transaction" : {
"data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000003",
+ "0x0000000000000000000000001000000000000000000000000000000000000003",
"0x0000000000000000000000002000000000000000000000000000000000000003"
],
"gasLimit" : [
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGEFiller.json
new file mode 100644
index 000000000..9c7b57cf8
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGEFiller.json
@@ -0,0 +1,90 @@
+{
+ "static_callcodecallcall_100_OOGE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01a7d2"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 32 (CALLDATALOAD 0)) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (STATICCALL 20020 (CALLDATALOAD 32) 0 64 0 64 ) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "2000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x0000000000000000000000001000000000000000000000000000000000000003",
+ "0x0000000000000000000000002000000000000000000000000000000000000003"
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter2Filler.json
new file mode 100644
index 000000000..9555c7cc7
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter2Filler.json
@@ -0,0 +1,90 @@
+{
+ "static_callcodecallcall_100_OOGMAfter2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : [0] },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x014b7c"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : [1] },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x012854"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 60150 (CALLDATALOAD 0) (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x0000000000000000000000001000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfterFiller.json
new file mode 100644
index 000000000..bad813cd6
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfterFiller.json
@@ -0,0 +1,82 @@
+{
+ "static_callcodecallcall_100_OOGMAfter" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x014c81"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 32 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter_2Filler.json
new file mode 100644
index 000000000..053a6381f
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter_2Filler.json
@@ -0,0 +1,79 @@
+{
+ "static_callcodecallcall_100_OOGMAfter_2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x014c81"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "nonce" : "0",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "storage": {}
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "nonce" : "0",
+ "code" : "{ (MSTORE 3 1) }",
+ "storage": {}
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "nonce" : "0",
+ "code" : "",
+ "storage": {}
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter_3Filler.json
index 26559adaf..1797b1d81 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_OOGMAfterFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMAfter_3Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcall_000_OOGMAfter" : {
+ "static_callcodecallcall_100_OOGMAfter_3" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x020000",
@@ -13,37 +13,32 @@
"indexes" : {
"data" : -1,
"gas" : -1,
- "value" : -1
+ "value" : [0]
},
"network" : ["Metropolis"],
"result" : {
- "1000000000000000000000000000000000000000" : {
+ "1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00",
- "0x6f" : "0x014c81"
+ "0x01" : "0x014c7f"
}
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
+ }
+ }
+ },
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : [1]
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
"storage" : {
- "0x03" : "0x00"
+ "0x00" : "0x00",
+ "0x01" : "0x012957"
}
- }
+ }
}
}
],
@@ -51,12 +46,12 @@
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
"nonce" : "0",
- "code" : "{ [[ 0 ]] (STATICCALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 111 ]] (GAS)}",
+ "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
"storage": {}
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (SSTORE 3 1)}",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
@@ -93,7 +88,7 @@
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "1000000000000000000000000000000000000000",
"value" : [
- "0"
+ "0", "1"
]
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMBefore2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMBefore2Filler.json
new file mode 100644
index 000000000..18fbc10ba
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMBefore2Filler.json
@@ -0,0 +1,98 @@
+{
+ "static_callcodecallcall_100_OOGMBefore2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 0 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x015c61"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x014235"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "2000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (SSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x0000000000000000000000001000000000000000000000000000000000000002",
+ "0x0000000000000000000000002000000000000000000000000000000000000002"
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMBeforeFiller.json
index 83fd92948..a9e685762 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGEFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_OOGMBeforeFiller.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_010_OOGE" : {
+ "static_callcodecallcall_100_OOGMBefore" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -20,7 +20,7 @@
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x7251"
+ "0x01" : "0x015c61"
}
}
}
@@ -29,28 +29,28 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (DELEGATECALL 100000 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 1 1) }",
+ "code" : "{ (STATICCALL 40080 (CALLDATALOAD 0) 0 64 0 64 ) (MSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
},
"2000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SSTORE 1 1) }",
+ "code" : "{ (SSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
@@ -72,8 +72,8 @@
},
"transaction" : {
"data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000002",
- "0x0000000000000000000000002000000000000000000000000000000000000002"
+ "0x0000000000000000000000001000000000000000000000000000000000000002",
+ "0x0000000000000000000000002000000000000000000000000000000000000002"
],
"gasLimit" : [
"172000"
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideEnd2Filler.json
index 8c73fcdcc..7503858c6 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcall_000_SuicideEndFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideEnd2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcall_000_SuicideEnd" : {
+ "static_callcodecallcall_100_SuicideEnd2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -15,12 +15,9 @@
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
- "0x00" : "0x01",
- "0x01" : "0x2b9a37"
+ "0x00" : "0x01",
+ "0x01" : "0x2b9a34"
}
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000"
}
}
}
@@ -28,7 +25,7 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS)}",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
@@ -42,14 +39,14 @@
},
"1000000000000000000000000000000000000002" : {
"balance" : "10000000000",
- "code" : "{ (MSTORE 3 1) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000003" : {
"balance" : "10000000000",
- "code" : "{ (MSTORE 3 1) }",
+ "code" : "{ (MSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideEndFiller.json
new file mode 100644
index 000000000..a6b223ac0
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideEndFiller.json
@@ -0,0 +1,82 @@
+{
+ "static_callcodecallcall_100_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2b9a37"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideMiddle2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideMiddle2Filler.json
index d11663f35..aaed4d3d7 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcall_100_SuicideMiddle2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideMiddle2Filler.json
@@ -10,20 +10,13 @@
},
"expect" : [
{
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 0 },
+ "network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
- "balance" : "1000000010000000000",
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x01"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
+ "0x01" : "0x2b9a49"
}
}
}
@@ -32,28 +25,28 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "10000000000",
- "code" : "{ [[ 1 ]] (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "10000000000",
- "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) [[ 2 ]] (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000003" : {
"balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
+ "code" : "{ (MSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
@@ -78,7 +71,7 @@
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "1000000000000000000000000000000000000000",
"value" : [
- "0"
+ "0", "1"
]
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_SuicideMiddle2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideMiddleFiller.json
index 3441ae64a..f0c72a424 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_SuicideMiddle2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_100_SuicideMiddleFiller.json
@@ -1,5 +1,5 @@
{
- "static_callcallcallcode_001_SuicideMiddle2" : {
+ "static_callcodecallcall_100_SuicideMiddle" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -10,21 +10,17 @@
},
"expect" : [
{
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
"network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
- "balance" : "1000000000000000000",
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x2b9a37"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x02" : "0x00",
- "0x03" : "0x00"
+ "0x01" : "0x2b9a37"
}
}
}
@@ -33,21 +29,21 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "10000000000",
- "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1)}",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "10000000000",
- "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2Filler.json
new file mode 100644
index 000000000..eb3a39ceb
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_ABCB_RECURSIVE2Filler.json
@@ -0,0 +1,83 @@
+{
+ "static_callcodecallcall_ABCB_RECURSIVE2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "3000000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 0 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01c75d0f"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01c742e3"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 25000000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "30000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_ABCB_RECURSIVEFiller.json
new file mode 100644
index 000000000..fec23ecbd
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcall_ABCB_RECURSIVEFiller.json
@@ -0,0 +1,75 @@
+{
+ "static_callcodecallcall_ABCB_RECURSIVE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "3000000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01c75d11"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "30000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101Filler.json
index 06c3a9eac..263c99658 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_010" : {
+ "static_callcodecallcallcode_101" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -29,21 +29,21 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 3 1) (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }",
+ "code" : "{ (MSTORE 1 1) (STATICCALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 31 1) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 3 1) (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1)}",
+ "code" : "{ (MSTORE 1 1) (DELEGATECALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 31 1) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecallcode_011_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_2Filler.json
index 2374d62b1..61f82c504 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecallcode_011_2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecallcode_011_2" : {
+ "static_callcodecallcallcode_101_2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -15,8 +15,8 @@
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
- "0x00" : "0x01",
- "0x01" : "0x2d1cf3"
+ "0x00" : "0x01",
+ "0x01" : "0x2d1cf4"
}
}
}
@@ -27,8 +27,8 @@
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
- "0x00" : "0x01",
- "0x01" : "0x2d02c7"
+ "0x00" : "0x01",
+ "0x01" : "0x2d02c8"
}
}
}
@@ -37,14 +37,14 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "1000000000000000000",
- "code" : "{ (CALLCODE 300000 (CALLDATALOAD 0) 0 0 64 0 64 ) }",
+ "code" : "{ (STATICCALL 300000 (CALLDATALOAD 0) 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGEFiller.json
new file mode 100644
index 000000000..5e2d5ce16
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGEFiller.json
@@ -0,0 +1,82 @@
+{
+ "static_callcodecallcallcode_101_OOGE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01a903"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcode_01_OOGE_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGE_2Filler.json
index 174f238e2..a9cbf3ab4 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcode_01_OOGE_2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGE_2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcode_01_OOGE_2" : {
+ "static_callcodecallcallcode_101_OOGE_2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -13,40 +13,40 @@
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
"network" : ["Metropolis"],
"result" : {
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x01aac5"
- }
- }
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01a8fd"
+ }
+ }
}
}
],
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 32 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (CALLCODE 20020 (CALLDATALOAD 0) 0 0 64 0 64 ) }",
+ "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (SSTORE 2 1) (MSTORE 2 1)}",
+ "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
},
- "2000000000000000000000000000000000000002" : {
+ "1000000000000000000000000000000000000003" : {
"balance" : "0",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
@@ -61,8 +61,7 @@
},
"transaction" : {
"data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000002",
- "0x0000000000000000000000002000000000000000000000000000000000000002"
+ ""
],
"gasLimit" : [
"172000"
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2Filler.json
new file mode 100644
index 000000000..33c1f5ac0
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter2Filler.json
@@ -0,0 +1,78 @@
+{
+ "static_callcodecallcallcode_101_OOGMAfter2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 0 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x014c7f"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfterFiller.json
new file mode 100644
index 000000000..8681cc812
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfterFiller.json
@@ -0,0 +1,82 @@
+{
+ "static_callcodecallcallcode_101_OOGMAfter" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x014c81"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00_OOGE_1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1Filler.json
index 9cc5537bc..1c307fcd9 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcall_00_OOGE_1Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_1Filler.json
@@ -1,9 +1,9 @@
{
- "static_callcall_00_OOGE_1" : {
+ "static_callcodecallcallcode_101_OOGMAfter_1" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x020000",
- "currentGasLimit" : "30000000",
+ "currentGasLimit" : "10000000",
"currentNumber" : "1",
"currentTimestamp" : "1000",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
@@ -20,18 +20,7 @@
"a000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x034e64"
- }
- },
- "1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x05" : "0x00"
+ "0x01" : "0x010e48"
}
}
}
@@ -47,18 +36,7 @@
"a000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x034e64"
- }
- },
- "2000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01"
- }
- },
- "2000000000000000000000000000000000000002" : {
- "storage" : {
- "0x02" : "0x00",
- "0x05" : "0x00"
+ "0x01" : "0x01a549"
}
}
}
@@ -66,48 +44,62 @@
],
"pre" : {
"a000000000000000000000000000000000000000" : {
- "balance" : "0",
- "code" : "{ [[ 0 ]] (CALL (GAS) (CALLDATALOAD 0) (CALLVALUE) 0 0 0 0) [[ 1 ]] (GAS) }",
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE (GAS) (CALLDATALOAD 0) 0 0 0 0 0) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
- },
+ },
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
"nonce" : "0",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "code" : "{ (CALLCODE 60150 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) (MSTORE 3 1) }",
"storage": {}
},
"1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 2 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
+ "balance" : "0",
+ "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
},
- "1000000000000000000000000000000000000002" : {
+ "1000000000000000000000000000000000000002" : {
"balance" : "0",
+ "code" : "{ (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 3 1) }",
"nonce" : "0",
- "code" : "{ (SSTORE 2 1) (SSTORE 5 (CALLVALUE)) }",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "nonce" : "0",
+ "code" : "{ (MSTORE 3 1) }",
"storage": {}
- },
+ },
"2000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
"nonce" : "0",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x2000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "code" : "{ (CALLCODE 60150 0x2000000000000000000000000000000000000001 0 0 64 0 64 ) (MSTORE 3 1)}",
"storage": {}
},
"2000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 2 1) (STATICCALL 100000 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
+ "balance" : "0",
+ "code" : "{ (STATICCALL 40080 0x2000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "2000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (CALLCODE 20020 0x2000000000000000000000000000000000000003 0 0 64 0 64 ) (MSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
},
- "2000000000000000000000000000000000000002" : {
+ "2000000000000000000000000000000000000003" : {
"balance" : "0",
"nonce" : "0",
- "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1) ) }",
+ "code" : "{ (SSTORE 3 1) }",
"storage": {}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
@@ -123,7 +115,7 @@
"0x0000000000000000000000002000000000000000000000000000000000000000"
],
"gasLimit" : [
- "380066"
+ "172000"
],
"gasPrice" : "1",
"nonce" : "0",
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcode_01_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3Filler.json
index fc5ded686..9bbc88a2f 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcode_01_2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMAfter_3Filler.json
@@ -1,36 +1,44 @@
{
- "static_callcallcode_01_2" : {
+ "static_callcodecallcallcode_101_OOGMAfter_3" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
- "currentDifficulty" : "0x20000",
- "currentGasLimit" : "30000000",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "10000000",
"currentNumber" : "1",
"currentTimestamp" : "1000",
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
{
- "indexes" : { "data" : 0, "gas" : -1, "value" : -1 },
+ "indexes" : {
+ "data" : 0,
+ "gas" : -1,
+ "value" : -1
+ },
"network" : ["Metropolis"],
"result" : {
"a000000000000000000000000000000000000000" : {
"storage" : {
- "0x00" : "0x01",
- "0x01" : "0x2d031d"
+ "0x00" : "0x01",
+ "0x01" : "0xaca6"
}
- }
+ }
}
},
{
- "indexes" : { "data" : 1, "gas" : -1, "value" : -1 },
+ "indexes" : {
+ "data" : 1,
+ "gas" : -1,
+ "value" : -1
+ },
"network" : ["Metropolis"],
"result" : {
"a000000000000000000000000000000000000000" : {
"storage" : {
- "0x00" : "0x01",
- "0x01" : "0x2d1d3d"
+ "0x00" : "0x01",
+ "0x01" : "0x0143b5"
}
- }
+ }
}
}
],
@@ -44,61 +52,70 @@
},
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ (STATICCALL 350000 0x1000000000000000000000000000000000000001 0 32 0 64 ) }",
"nonce" : "0",
- "storage" : {
- }
+ "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "storage": {}
},
"1000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (CALLCODE 250000 0x1000000000000000000000000000000000000002 2 0 32 0 64 ) }",
+ "balance" : "0",
+ "code" : "{ (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (MSTORE 0 0x11223344) }",
+ "code" : "{ (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
},
- "2000000000000000000000000000000000000000" : {
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "nonce" : "0",
+ "code" : "{ (MSTORE 3 1) }",
+ "storage": {}
+ },
+ "2000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ (STATICCALL 350000 0x2000000000000000000000000000000000000001 0 32 0 64 ) }",
"nonce" : "0",
- "storage" : {
- }
+ "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x2000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "storage": {}
},
"2000000000000000000000000000000000000001" : {
- "balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (CALLCODE 250000 0x2000000000000000000000000000000000000002 0 0 32 0 64 ) }",
+ "balance" : "0",
+ "code" : "{ (STATICCALL 40080 0x2000000000000000000000000000000000000002 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
},
"2000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ (MSTORE 0 0x11223344) }",
+ "code" : "{ (DELEGATECALL 20020 0x2000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
},
+ "2000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "nonce" : "0",
+ "code" : "{ (SSTORE 3 1) }",
+ "storage": {}
+ },
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "1000000000000000000",
- "code" : "",
"nonce" : "0",
- "storage" : {
- }
+ "code" : "",
+ "storage": {}
}
},
"transaction" : {
"data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000000",
+ "0x0000000000000000000000001000000000000000000000000000000000000000",
"0x0000000000000000000000002000000000000000000000000000000000000000"
],
"gasLimit" : [
- "3000000"
+ "172000"
],
"gasPrice" : "1",
"nonce" : "0",
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2Filler.json
new file mode 100644
index 000000000..fada839e5
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMBefore2Filler.json
@@ -0,0 +1,78 @@
+{
+ "static_callcodecallcallcode_101_OOGMBefore2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 0 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x015d65"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMBeforeFiller.json
new file mode 100644
index 000000000..e16122dd5
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_OOGMBeforeFiller.json
@@ -0,0 +1,82 @@
+{
+ "static_callcodecallcallcode_101_OOGMBefore" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x015d67"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (DELEGATECALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2Filler.json
new file mode 100644
index 000000000..0df112f95
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideEnd2Filler.json
@@ -0,0 +1,78 @@
+{
+ "static_callcodecallcallcode_101_SuicideEnd2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 0 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2b9a35"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideEndFiller.json
new file mode 100644
index 000000000..e46544c1b
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideEndFiller.json
@@ -0,0 +1,82 @@
+{
+ "static_callcodecallcallcode_101_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2b9a37"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2Filler.json
new file mode 100644
index 000000000..3ca97956e
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideMiddle2Filler.json
@@ -0,0 +1,78 @@
+{
+ "static_callcodecallcallcode_101_SuicideMiddle2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 0 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2b9a35"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (CALLCODE 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideMiddleFiller.json
new file mode 100644
index 000000000..a04bedfb9
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_101_SuicideMiddleFiller.json
@@ -0,0 +1,82 @@
+{
+ "static_callcodecallcallcode_101_SuicideMiddle" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2b9a37"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (MSTORE 3 1) (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 32 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (SELFDESTRUCT 0x1000000000000000000000000000000000000000) (DELEGATECALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json
new file mode 100644
index 000000000..8ad632fc2
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVE2Filler.json
@@ -0,0 +1,98 @@
+{
+ "static_callcodecallcallcode_ABCB_RECURSIVE2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "3000000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : 0, "gas" : -1, "value" : 0 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01c75b73"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : 1, "gas" : -1, "value" : 0 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01c4b93f"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 25000000 (CALLDATALOAD 0) (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (CALLCODE 500000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "2000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (STATICCALL 1000000 0x2000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "2000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (CALLCODE 500000 0x2000000000000000000000000000000000000001 1 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x0000000000000000000000001000000000000000000000000000000000000001",
+ "0x0000000000000000000000002000000000000000000000000000000000000001"
+ ],
+ "gasLimit" : [
+ "30000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVEFiller.json
new file mode 100644
index 000000000..a1051194e
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcallcode_ABCB_RECURSIVEFiller.json
@@ -0,0 +1,75 @@
+{
+ "static_callcodecallcallcode_ABCB_RECURSIVE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "3000000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01c75d11"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (STATICCALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (DELEGATECALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "30000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_1102Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_1102Filler.json
new file mode 100644
index 000000000..4ac901865
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_1102Filler.json
@@ -0,0 +1,78 @@
+{
+ "static_callcodecallcodecall_110_2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 0 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2d06b5"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (CALLCODE 300000 0x1000000000000000000000000000000000000002 (- (CALLVALUE) 1) 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 1 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1", "2"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110Filler.json
new file mode 100644
index 000000000..73c99cc4c
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110Filler.json
@@ -0,0 +1,82 @@
+{
+ "static_callcodecallcodecall_110" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2d1de0"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 350000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 1 1) (DELEGATECALL 300000 0x1000000000000000000000000000000000000002 0 64 0 64 ) (MSTORE 1 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE 1 1) (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 1 1)}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 1 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_2Filler.json
index 1399d3285..3fd8ff958 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_2Filler.json
@@ -10,26 +10,37 @@
},
"expect" : [
{
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 0 },
+ "network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x01",
- "0x02" : "0x01"
+ "0x01" : "0x2d06a1"
}
- },
- "1000000000000000000000000000000000000003" : {
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 1 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x2d03aa"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 2 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
"storage" : {
- "0x014a" : "0x1000000000000000000000000000000000000003",
- "0x014c" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
- "0x0150" : "0x40",
- "0x0152" : "0x26",
- "0x0154" : "0x01",
- "0x03" : "0x01",
- "0x04" : "0x1000000000000000000000000000000000000000",
- "0x07" : "0x03"
+ "0x00" : "0x01",
+ "0x01" : "0x2ce97e"
}
}
}
@@ -38,28 +49,28 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 1 0 64 0 64 ) }",
+ "code" : "{ [[ 0 ]] (CALLCODE 350000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 1 ]] (CALLCODE 300000 0x1000000000000000000000000000000000000002 2 0 64 0 64 ) }",
+ "code" : "{ (MSTORE 1 1) (CALLCODE 300000 0x1000000000000000000000000000000000000002 ( - (CALLVALUE) 1) 0 64 0 64 ) (MSTORE 31 1) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 2 ]] (STATICCALL 250000 0x1000000000000000000000000000000000000003 3 0 64 0 64 ) }",
+ "code" : "{ (MSTORE 1 1) (STATICCALL 250000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (MSTORE 31 1) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000003" : {
"balance" : "0",
- "code" : "{ (SSTORE 3 1) (SSTORE 4 (CALLER)) (SSTORE 7 (CALLVALUE)) (SSTORE 330 (ADDRESS)) (SSTORE 332 (ORIGIN)) (SSTORE 336 (CALLDATASIZE)) (SSTORE 338 (CODESIZE)) (SSTORE 340 (GASPRICE))}",
+ "code" : "{ (MSTORE 1 1) }",
"nonce" : "0",
"storage" : {
}
@@ -84,7 +95,7 @@
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "1000000000000000000000000000000000000000",
"value" : [
- "0"
+ "0", "1", "2"
]
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGE2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGE2Filler.json
new file mode 100644
index 000000000..aaf3e6da3
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGE2Filler.json
@@ -0,0 +1,78 @@
+{
+ "static_callcodecallcodecall_110_OOGE2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 0 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01dfd5"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 (- (CALLVALUE) 1) 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1", "2"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGEFiller.json
new file mode 100644
index 000000000..ea77738b0
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGEFiller.json
@@ -0,0 +1,82 @@
+{
+ "static_callcodecallcodecall_110_OOGE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01a903"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2Filler.json
new file mode 100644
index 000000000..ab5e7bf10
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter2Filler.json
@@ -0,0 +1,90 @@
+{
+ "static_callcodecallcodecall_110_OOGMAfter2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 0 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x014c7f"
+ }
+ }
+ }
+ },
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : [1,2] },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x012957"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 ( - (CALLVALUE) 1) 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1", "2"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfterFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfterFiller.json
new file mode 100644
index 000000000..497571257
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfterFiller.json
@@ -0,0 +1,82 @@
+{
+ "static_callcodecallcodecall_110_OOGMAfter" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x014c81"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfter_2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2Filler.json
index a1120ab5d..576186c52 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcallcodecallcode_011_OOGMAfter_2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecallcode_011_OOGMAfter_2" : {
+ "static_callcodecallcodecall_110_OOGMAfter_2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x020000",
@@ -20,28 +20,7 @@
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x00",
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00",
- "0x03" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "storage" : {
- "0x03" : "0x00"
+ "0x01" : "0x014c81"
}
}
}
@@ -51,19 +30,19 @@
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
"nonce" : "0",
- "code" : "{ [[ 0 ]] (STATICCALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 60150 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
"storage": {}
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ [[ 1 ]] (CALLCODE 40080 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) (MSTORE 3 1) }",
+ "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "0",
- "code" : "{ [[ 2 ]] (CALLCODE 20020 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) }",
+ "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
@@ -71,7 +50,7 @@
"1000000000000000000000000000000000000003" : {
"balance" : "0",
"nonce" : "0",
- "code" : "{ (SSTORE 3 1) }",
+ "code" : "{ (MSTORE 3 1) }",
"storage": {}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3Filler.json
new file mode 100644
index 000000000..1fdbea951
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMAfter_3Filler.json
@@ -0,0 +1,79 @@
+{
+ "static_callcodecallcodecall_110_OOGMAfter_3" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x020000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x014c7f"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "nonce" : "0",
+ "code" : "{ [[ 0 ]] (CALLCODE 60150 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "storage": {}
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 (- (CALLVALUE) 1) 0 64 0 64 ) (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "nonce" : "0",
+ "code" : "{ (MSTORE 3 1) }",
+ "storage": {}
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "nonce" : "0",
+ "code" : "",
+ "storage": {}
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMBefore2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2Filler.json
index dfbecc6b2..82ab8b779 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_OOGMBefore2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMBefore2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_010_OOGMBefore2" : {
+ "static_callcodecallcodecall_110_OOGMBefore2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -10,15 +10,13 @@
},
"expect" : [
{
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 0 },
"network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
"storage" : {
"0x00" : "0x01",
- "0x01" : "0x015c69",
- "0x02" : "0x00",
- "0x03" : "0x00"
+ "0x01" : "0x01dfd5"
}
}
}
@@ -27,14 +25,14 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{ (CALLCODE 40080 (CALLDATALOAD 0) 0 0 64 0 64 ) }",
+ "code" : "{ (CALLCODE 40080 0x1000000000000000000000000000000000000002 (- (CALLVALUE) 1) 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
@@ -46,13 +44,6 @@
"storage" : {
}
},
- "2000000000000000000000000000000000000002" : {
- "balance" : "0",
- "code" : "{ (SSTORE 3 1) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
- "nonce" : "0",
- "storage" : {
- }
- },
"1000000000000000000000000000000000000003" : {
"balance" : "0",
"code" : "{ (MSTORE 3 1) }",
@@ -70,8 +61,7 @@
},
"transaction" : {
"data" : [
- "0x0000000000000000000000001000000000000000000000000000000000000002",
- "0x0000000000000000000000002000000000000000000000000000000000000002"
+ ""
],
"gasLimit" : [
"172000"
@@ -81,7 +71,7 @@
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "1000000000000000000000000000000000000000",
"value" : [
- "0"
+ "0", "1", "2"
]
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMBeforeFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMBeforeFiller.json
new file mode 100644
index 000000000..014a94efc
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_OOGMBeforeFiller.json
@@ -0,0 +1,82 @@
+{
+ "static_callcodecallcodecall_110_OOGMBefore" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x015d7b"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (DELEGATECALL 40080 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "0",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) (STATICCALL 20020 0x1000000000000000000000000000000000000003 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "0",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "172000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideEnd2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2Filler.json
index 58d2e2ca0..389485dc3 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_callcodecallcodecall_110_SuicideEnd2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideEnd2Filler.json
@@ -11,16 +11,10 @@
"expect" : [
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
- "1000000000000000000000000000000000000001" : {
- "balance" : "1000000010000000000"
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x01"
- }
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
}
}
}
@@ -28,28 +22,28 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 0 0 64 0 64 ) }",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "10000000000",
- "code" : "{ [[ 1 ]] (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 (CALLVALUE) 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000002" : {
"balance" : "10000000000",
- "code" : "{ [[ 2 ]] (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
+ "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000003" : {
"balance" : "10000000000",
- "code" : "{ (SSTORE 3 1) }",
+ "code" : "{ (MSTORE 3 1) }",
"nonce" : "0",
"storage" : {
}
@@ -74,7 +68,7 @@
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "1000000000000000000000000000000000000000",
"value" : [
- "0"
+ "0", "1"
]
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideEndFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideEndFiller.json
new file mode 100644
index 000000000..ad9803b03
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideEndFiller.json
@@ -0,0 +1,79 @@
+{
+ "static_callcodecallcodecall_110_SuicideEnd" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "30000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "shouldnotexist" : "1"
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (DELEGATECALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (STATICCALL 50000 0x1000000000000000000000000000000000000003 0 64 0 64 ) (SELFDESTRUCT 0x1000000000000000000000000000000000000001) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000003" : {
+ "balance" : "10000000000",
+ "code" : "{ (MSTORE 3 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "3000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_SuicideMiddle2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2Filler.json
index 29f30f94c..65b85d3b9 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_SuicideMiddle2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideMiddle2Filler.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_010_SuicideMiddle2" : {
+ "static_callcodecallcodecall_110_SuicideMiddle2" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -14,23 +14,7 @@
"network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x2b9a48"
- }
- },
- "1000000000000000000000000000000000000002" : {
- "balance" : "10000000000",
- "storage" : {
- "0x01" : "0x00",
- "0x02" : "0x00"
- }
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
- }
+ "shouldnotexist" : "1"
}
}
}
@@ -38,14 +22,14 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ [[ 0 ]] (CALLCODE 150000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "10000000000",
- "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "code" : "{ (CALLCODE 100000 0x1000000000000000000000000000000000000002 (CALLVALUE) 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_SuicideMiddleFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideMiddleFiller.json
index 1a6b7fbc8..163015ba0 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcodecall_010_SuicideMiddleFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_110_SuicideMiddleFiller.json
@@ -1,5 +1,5 @@
{
- "static_callcallcodecall_010_SuicideMiddle" : {
+ "static_callcodecallcodecall_110_SuicideMiddle" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -18,10 +18,7 @@
"network" : ["Metropolis"],
"result" : {
"1000000000000000000000000000000000000000" : {
- "storage" : {
- "0x00" : "0x01",
- "0x01" : "0x2b9a4b"
- }
+ "shouldnotexist" : "1"
}
}
}
@@ -29,7 +26,7 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json
new file mode 100644
index 000000000..f178707a2
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVE2Filler.json
@@ -0,0 +1,71 @@
+{
+ "static_callcodecallcodecall_ABCB_RECURSIVE2" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "3000000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : { "data" : -1, "gas" : -1, "value" : 0 },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01c75c76"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (CALLCODE 25000000 0x1000000000000000000000000000000000000001 (CALLVALUE) 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (CALLCODE 1000000 0x1000000000000000000000000000000000000002 0 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "30000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0", "1"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVEFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVEFiller.json
new file mode 100644
index 000000000..1b6e474a9
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecall_ABCB_RECURSIVEFiller.json
@@ -0,0 +1,75 @@
+{
+ "static_callcodecallcodecall_ABCB_RECURSIVE" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "3000000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "1000000000000000000000000000000000000000" : {
+ "storage" : {
+ "0x00" : "0x01",
+ "0x01" : "0x01c75d11"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 25000000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000001" : {
+ "balance" : "10000000000",
+ "code" : "{ (DELEGATECALL 1000000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000002" : {
+ "balance" : "10000000000",
+ "code" : "{ (STATICCALL 500000 0x1000000000000000000000000000000000000001 0 64 0 64 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ ""
+ ],
+ "gasLimit" : [
+ "30000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "1000000000000000000000000000000000000000",
+ "value" : [
+ "0"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_SuicideEnd2Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecallcode_111_SuicideEndFiller.json
index 57c3c4477..16ddf1b07 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_callcallcallcode_001_SuicideEnd2Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_callcodecallcodecallcode_111_SuicideEndFiller.json
@@ -1,5 +1,5 @@
{
- "static_callcallcallcode_001_SuicideEnd2" : {
+ "static_callcodecallcodecallcode_111_SuicideEnd" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -10,22 +10,17 @@
},
"expect" : [
{
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
"network" : ["Metropolis"],
"result" : {
- "1000000000000000000000000000000000000000" : {
+ "1000000000000000000000000000000000000000" : {
"storage" : {
- "0x00" : "0x01",
- "0x01" : "0x2b9a4b"
- }
- },
- "1000000000000000000000000000000000000001" : {
- "balance" : "10000000000"
- },
- "1000000000000000000000000000000000000003" : {
- "balance" : "10000000000",
- "storage" : {
- "0x03" : "0x00"
+ "0x00" : "0x01",
+ "0x01" : "0x2b9a4b"
}
}
}
@@ -34,14 +29,14 @@
"pre" : {
"1000000000000000000000000000000000000000" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
+ "code" : "{ [[ 0 ]] (DELEGATECALL 150000 0x1000000000000000000000000000000000000001 0 64 0 64 ) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "10000000000",
- "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64 ) }",
+ "code" : "{ (STATICCALL 100000 0x1000000000000000000000000000000000000002 0 64 0 64) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json
index 894cc2332..cafcddedd 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_contractCreationMakeCallThatAskMoreGasThenTransactionProvidedFiller.json
@@ -15,33 +15,10 @@
"gas" : -1,
"value" : -1
},
- "network" : ["EIP150", "EIP158", "Frontier"],
+ "network" : ["Metropolis"],
"result" : {
"6295ee1b4f6dd65047762f924ecd367c17eabf8f": {
- "balance" : "0"
- },
- "1000000000000000000000000000000000000001": {
- "storage" : {
- "0x01" : "0x01"
- }
- }
- }
- },
- {
- "indexes" : {
- "data" : -1,
- "gas" : -1,
- "value" : -1
- },
- "network" : ["Homestead"],
- "result" : {
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f": {
- "shouldnotexist" : "1"
- },
- "1000000000000000000000000000000000000001": {
- "storage" : {
- "0x01" : "0x00"
- }
+ "nonce" : "1"
}
}
}
@@ -57,7 +34,7 @@
},
"b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "100000",
- "code" : "{(STATICCALL 50000 0x1000000000000000000000000000000000000001 0 0 64 0 64)}",
+ "code" : "{(STATICCALL 50000 0x1000000000000000000000000000000000000001 0 64 0 64)}",
"nonce" : "0",
"storage" : {
}
@@ -68,11 +45,49 @@
"nonce" : "0",
"storage" : {
}
+ },
+ "2000000000000000000000000000000000000001" : {
+ "balance" : "100000",
+ "code" : "{(MSTORE 1 1)}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "3000000000000000000000000000000000000001" : {
+ "balance" : "100000",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "4000000000000000000000000000000000000001" : {
+ "balance" : "100000",
+ "code" : "{ (CALLCODE 1000 0x4000000000000000000000000000000000000004 0 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "5000000000000000000000000000000000000001" : {
+ "balance" : "100000",
+ "code" : "{ (CALLCODE 1000000 0x4000000000000000000000000000000000000004 0 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "4000000000000000000000000000000000000004" : {
+ "balance" : "100000",
+ "code" : "{ (MSTORE 1 1) }",
+ "nonce" : "0",
+ "storage" : {
+ }
}
},
"transaction" : {
"data" : [
- "0x6040600060406000600073100000000000000000000000000000000000000161c350f1"
+ "0x604060006040600073100000000000000000000000000000000000000161c350fa",
+ "0x604060006040600073200000000000000000000000000000000000000161c350fa",
+ "0x604060006040600073300000000000000000000000000000000000000161c350fa",
+ "0x604060006040600073400000000000000000000000000000000000000161c350fa"
],
"gasLimit" : [
"96000"
@@ -82,7 +97,7 @@
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "",
"value" : [
- ""
+ "0"
]
}
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json
index 09ff782f0..96b506f51 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_contractCreationOOGdontLeaveEmptyContractViaTransactionFiller.json
@@ -9,20 +9,12 @@
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1},
- "network" : ["Homestead"],
- "result" : {
- "6295ee1b4f6dd65047762f924ecd367c17eabf8f": {
- "shouldnotexist" : "1"
- }
- }
- },
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1},
- "network" : ["Frontier", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"6295ee1b4f6dd65047762f924ecd367c17eabf8f": {
+ "nonce" : "1"
}
}
}
@@ -37,14 +29,21 @@
},
"b94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
"balance" : "100000",
- "code" : "{(STATICCALL 50000 0x1000000000000000000000000000000000000001 0 0 64 0 64)}",
+ "code" : "{(STATICCALL 50000 0x1000000000000000000000000000000000000001 0 64 0 64)}",
"nonce" : "0",
"storage" : {
}
},
"1000000000000000000000000000000000000001" : {
"balance" : "0",
- "code" : "{(SSTORE 1 1)}",
+ "code" : "{(MSTORE 1 1)}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "2000000000000000000000000000000000000001" : {
+ "balance" : "0",
+ "code" : "{ (def 'i 0x80) (for {} (< @i 50000) [i](+ @i 1) (EXTCODESIZE 1)) }",
"nonce" : "0",
"storage" : {
}
@@ -52,7 +51,7 @@
},
"transaction" : {
"data" : [
- "0x6040600060406000600073100000000000000000000000000000000000000161c350f1"
+ "0x604060006040600073200000000000000000000000000000000000000161c350fa"
],
"gasLimit" : [
"96000"
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_emptyMemFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_log0_emptyMemFiller.json
index 87fe60505..bfc9dcc5b 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_emptyMemFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_log0_emptyMemFiller.json
@@ -15,11 +15,12 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
- "0x" : "0x01"
+ "0x00" : "0x00",
+ "0x01" : "0x02c805"
}
}
}
@@ -28,7 +29,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) [[ 1 ]] (GAS) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_logMemStartTooHighFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemStartTooHighFiller.json
index 6f747db13..9df08a6d4 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_logMemStartTooHighFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemStartTooHighFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -27,7 +27,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_logMemsizeTooHighFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemsizeTooHighFiller.json
index 69fc069bb..b392799bd 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_logMemsizeTooHighFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemsizeTooHighFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -27,7 +27,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_logMemsizeZeroFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemsizeZeroFiller.json
index 34433b73e..5ee8d464f 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_logMemsizeZeroFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_log0_logMemsizeZeroFiller.json
@@ -15,11 +15,11 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
- "0x" : "0x01"
+ "0x" : "0x00"
}
}
}
@@ -28,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_nonEmptyMemFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMemFiller.json
index ccf88cb35..1e0c990ca 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_nonEmptyMemFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMemFiller.json
@@ -15,11 +15,11 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
- "0x" : "0x01"
+ "0x" : "0x00"
}
}
}
@@ -28,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_nonEmptyMem_logMemSize1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMem_logMemSize1Filler.json
index c3dd8246f..2be29f9ae 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_nonEmptyMem_logMemSize1Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMem_logMemSize1Filler.json
@@ -15,11 +15,11 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
- "0x" : "0x01"
+ "0x" : "0x00"
}
}
}
@@ -28,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json
index e6ff51410..36fc3271d 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_log0_nonEmptyMem_logMemSize1_logMemStart31Filler.json
@@ -15,11 +15,11 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
- "0x" : "0x01"
+ "0x" : "0x00"
}
}
}
@@ -28,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_MaxTopicFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_log1_MaxTopicFiller.json
index feb23c0df..d21ff74e1 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_MaxTopicFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_log1_MaxTopicFiller.json
@@ -15,11 +15,11 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
- "0x" : "0x01"
+ "0x" : "0x00"
}
}
}
@@ -28,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_emptyMemFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_log1_emptyMemFiller.json
index 0e8db864c..f49568ded 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_emptyMemFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_log1_emptyMemFiller.json
@@ -15,11 +15,11 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
- "0x" : "0x01"
+ "0x" : "0x00"
}
}
}
@@ -28,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_logMemStartTooHighFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemStartTooHighFiller.json
index da3cb4ccd..53fbc9028 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_logMemStartTooHighFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemStartTooHighFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -27,7 +27,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_logMemsizeTooHighFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemsizeTooHighFiller.json
index 58a016e57..fe233ade8 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_logMemsizeTooHighFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemsizeTooHighFiller.json
@@ -15,7 +15,7 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
@@ -27,7 +27,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_logMemsizeZeroFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemsizeZeroFiller.json
index e478e8201..76609c2ce 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_log1_logMemsizeZeroFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_log1_logMemsizeZeroFiller.json
@@ -15,11 +15,11 @@
"gas" : -1,
"value" : -1
},
- "network" : ["Frontier", "Homestead", "EIP158", "EIP150"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"storage" : {
- "0x" : "0x01"
+ "0x" : "0x00"
}
}
}
@@ -28,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 23 0 0 0 0) }",
+ "code" : "{ [[ 0 ]] (STATICCALL 1000 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_log_CallerFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_log_CallerFiller.json
new file mode 100644
index 000000000..d289dd10a
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_log_CallerFiller.json
@@ -0,0 +1,99 @@
+{
+ "static_log_Caller" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "1000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : -1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "storage" : {
+ "0x" : "0x00"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (STATICCALL 50000 (CALLDATALOAD 0) 0 0 0 0) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE8 0 0xff) (LOG0 0 32 ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "1000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE8 0 0xff) (LOG1 0 32 (CALLER) ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "2000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE8 0 0xff) (LOG2 0 32 0 (CALLER) ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "3000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE8 0 0xff) (LOG3 0 32 0 0 (CALLER) ) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "4000000000000000000000000000000000000000" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (MSTORE8 0 0xff) (LOG4 0 32 0 0 0 (CALLER) )}",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "1000000000000000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x000000000000000000000000a000000000000000000000000000000000000000",
+ "0x0000000000000000000000001000000000000000000000000000000000000000",
+ "0x0000000000000000000000002000000000000000000000000000000000000000",
+ "0x0000000000000000000000003000000000000000000000000000000000000000",
+ "0x0000000000000000000000004000000000000000000000000000000000000000"
+ ],
+ "gasLimit" : [
+ "210000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "value" : [
+ "100000"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_makeMoneyFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_makeMoneyFiller.json
index badb2b3d4..d8fdd5f0b 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_makeMoneyFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_makeMoneyFiller.json
@@ -9,33 +9,18 @@
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
- "indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["Frontier", "Homestead"],
- "result" : {
- "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "771500"
- },
- "aaaaaaaaace5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000000"
- }
- }
- },
{
"indexes" : { "data" : -1, "gas" : -1, "value" : -1 },
- "network" : ["EIP150", "EIP158"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "999999999999999987"
+ "balance" : "1000000000000000010"
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "931546"
+ "balance" : "774720"
},
"aaaaaaaaace5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "1000000000000000023"
+ "balance" : "1000000000000000000"
}
}
}
@@ -43,7 +28,7 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 0x601080600c6000396000f20060003554156009570060203560003555) (STATICCALL 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec 0xaaaaaaaaace5edbc8e2a8697c15331677e6ebf0b 23 0 0 0 0) }",
+ "code" : "{ (MSTORE 0 0x601080600c6000396000f20060003554156009570060203560003555) (STATICCALL 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec 0xaaaaaaaaace5edbc8e2a8697c15331677e6ebf0b 0 0 0 0) }",
"nonce" : "0",
"storage" : {
}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallA_OOGFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_refund_CallAFiller.json
index 23600668a..431ba8bdd 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/stStaticCallPending/static_refund_CallA_OOGFiller.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_refund_CallAFiller.json
@@ -1,5 +1,5 @@
{
- "static_refund_CallA_OOG" : {
+ "static_refund_CallA" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -9,30 +9,24 @@
"previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
},
"expect" : [
- {
+ {
"indexes" : {
"data" : -1,
"gas" : -1,
"value" : -1
},
- "network" : ["ALL"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
- "balance" : "1000000000000000000",
+ "balance" : "1000000000000000010",
"storage" : {
- "0x01" : "0x01"
+ "0x00" : "0x00",
+ "0x01" : "0x01"
}
},
- "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba" : {
- "balance" : "31069"
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "268931",
- "nonce" : "1"
- },
"aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
"storage" : {
- "0x01" : "0x01"
+ "0x01" : "0x01"
}
}
}
@@ -41,14 +35,14 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ [[ 0 ]] (STATICCALL 6000 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 0 )}",
+ "code" : "{ [[ 0 ]] (STATICCALL 5500 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 ) [[ 1 ]] 1}",
"nonce" : "0",
"storage" : {
"0x01" : "0x01"
}
},
"a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "balance" : "300000",
+ "balance" : "2000000",
"code" : "",
"nonce" : "0",
"storage" : {
@@ -68,7 +62,7 @@
""
],
"gasLimit" : [
- "31069"
+ "200000"
],
"gasPrice" : "1",
"nonce" : "0",
diff --git a/src/GeneralStateTestsFiller/stStaticCall/static_refund_CallToSuicideNoStorageFiller.json b/src/GeneralStateTestsFiller/stStaticCall/static_refund_CallToSuicideNoStorageFiller.json
new file mode 100644
index 000000000..50964b68e
--- /dev/null
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_refund_CallToSuicideNoStorageFiller.json
@@ -0,0 +1,71 @@
+{
+ "static_refund_CallToSuicideNoStorage" : {
+ "env" : {
+ "currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
+ "currentDifficulty" : "0x20000",
+ "currentGasLimit" : "10000000",
+ "currentNumber" : "1",
+ "currentTimestamp" : "1000",
+ "previousHash" : "5e20a0453cecd065ea59c37ac63e079ee08998b6045136a8ce6635c7912ec0b6"
+ },
+ "expect" : [
+ {
+ "indexes" : {
+ "data" : 1,
+ "gas" : -1,
+ "value" : -1
+ },
+ "network" : ["Metropolis"],
+ "result" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "1000000000000000010",
+ "storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x01",
+ "0x02" : "0x01"
+ }
+ }
+ }
+ }
+ ],
+ "pre" : {
+ "095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ [[ 0 ]] (STATICCALL (CALLDATALOAD 0) 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 ) [[ 2 ]] 1 }",
+ "nonce" : "0",
+ "storage" : {
+ "0x01" : "0x01"
+ }
+ },
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "100000000",
+ "code" : "",
+ "nonce" : "0",
+ "storage" : {
+ }
+ },
+ "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
+ "balance" : "1000000000000000000",
+ "code" : "{ (SELFDESTRUCT 0x095e7baea6a6c7c4c2dfeb977efac326af552d87) }",
+ "nonce" : "0",
+ "storage" : {
+ }
+ }
+ },
+ "transaction" : {
+ "data" : [
+ "0x00000000000000000000000000000000000000000000000000000000000001f4", "0x0000000000000000000000000000000000000000000000000000000000010000"
+ ],
+ "gasLimit" : [
+ "10000000"
+ ],
+ "gasPrice" : "1",
+ "nonce" : "0",
+ "secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
+ "to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
+ "value" : [
+ "10"
+ ]
+ }
+ }
+}
diff --git a/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcallsSuicide1Filler.json b/src/GeneralStateTestsFiller/stStaticCall/static_refund_CallToSuicideTwiceFiller.json
index 9327c6e1e..a36823239 100644
--- a/src/GeneralStateTestsFiller/stStaticCall/done/static_ABAcallsSuicide1Filler.json
+++ b/src/GeneralStateTestsFiller/stStaticCall/static_refund_CallToSuicideTwiceFiller.json
@@ -1,5 +1,5 @@
{
- "static_ABAcallsSuicide1" : {
+ "static_refund_CallToSuicideTwice" : {
"env" : {
"currentCoinbase" : "2adc25665018aa1fe0e6bc666dac8fc2697ff9ba",
"currentDifficulty" : "0x20000",
@@ -15,22 +15,17 @@
"gas" : -1,
"value" : -1
},
- "network" : ["EIP150", "EIP158", "Metropolis"],
+ "network" : ["Metropolis"],
"result" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
+ "balance" : "2000000000000000010",
"storage" : {
+ "0x00" : "0x00",
+ "0x01" : "0x01"
}
},
- "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6" : {
+ "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
"shouldnotexist" : "1"
- },
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "storage" : {
- }
- },
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
- "nonce" : "1"
}
}
}
@@ -38,29 +33,31 @@
"pre" : {
"095e7baea6a6c7c4c2dfeb977efac326af552d87" : {
"balance" : "1000000000000000000",
- "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL (CALLDATALOAD 0) 0x945304eb96065b2a98b57a48a06ae28d285a71b5 0 32 0 0) }",
+ "code" : "{ [[ 0 ]] (STATICCALL (CALLDATALOAD 0) 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 ) (CALL (CALLDATALOAD 0) 0xaaae7baea6a6c7c4c2dfeb977efac326af552aaa 0 0 0 0 0 )}",
"nonce" : "0",
"storage" : {
+ "0x01" : "0x01"
}
},
- "945304eb96065b2a98b57a48a06ae28d285a71b5" : {
- "balance" : "23",
- "code" : "{ (MSTORE 0 (CALLDATALOAD 0)) (STATICCALL (SUB (CALLDATALOAD 0) 50000) 0x095e7baea6a6c7c4c2dfeb977efac326af552d87 0 32 0 0) (SELFDESTRUCT 0x0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6) } ",
+ "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "balance" : "100000000",
+ "code" : "",
"nonce" : "0",
"storage" : {
}
},
- "a94f5374fce5edbc8e2a8697c15331677e6ebf0b" : {
+ "aaae7baea6a6c7c4c2dfeb977efac326af552aaa" : {
"balance" : "1000000000000000000",
- "code" : "",
+ "code" : "{ (SELFDESTRUCT 0x095e7baea6a6c7c4c2dfeb977efac326af552d87) }",
"nonce" : "0",
"storage" : {
+ "0x01" : "0x01"
}
}
},
"transaction" : {
"data" : [
- "0x00000000000000000000000000000000000000000000000000000000000186a0", "0x00000000000000000000000000000000000000000000000000000000000486a0"
+ "0x00000000000000000000000000000000000000000000000000000000000001f4", "0x0000000000000000000000000000000000000000000000000000000000010000"
],
"gasLimit" : [
"10000000"
@@ -70,7 +67,7 @@
"secretKey" : "45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"to" : "095e7baea6a6c7c4c2dfeb977efac326af552d87",
"value" : [
- "100000"
+ "10"
]
}
}